postgres 13から15へのアップグレードが失敗 - 現在フォーラムが利用不可

皆さん、こんにちは。

最新のテストに合格したバージョンにアップグレードするためにリビルドを実行しようとすると、以下のエラーが発生します。これには、Postgres のバージョンを 13 から 15 に引き上げることが含まれます。

[2025-03-12T20:49:22.045226 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045431 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045624 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045816 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
debconf: delaying package configuration, since apt-utils is not installed
cp: cannot stat '/etc/postgresql/13/main/*': No such file or directory

スクリプトは、このコピーコマンドで停止してしまいます。

フォーラムを再起動しようとすると、再起動コマンドは正常に完了しますが、フォーラムは「接続拒否」と表示されます。

Postgres 13 のバックアップを使用するようにロールバックするか、先に進むにはどうすればよいですか?よろしくお願いします。

より賢い人が手伝いに来るまで、Postgresのアップグレードに関するこのトピックを参照してください。

「いいね!」 4

バックアップをインポートして、完全に新しいサーバーを作成することもできます。

「いいね!」 1

可能であれば避けたいです

「いいね!」 2

それが最も簡単な解決策です。

古いコンテナを再起動してください。フォーラムが利用できるようになります。新しいサーバーは、ご都合の良い時に稼働させることができます。

再起動コンテナは、データベースバージョンの間で断続的な状態にあったため実行できませんでした。postgres_dataフォルダを削除し、現在バックアップから復元しています。

サーバーのスペックを教えていただけますか? Ubuntu LTS を使用している場合、サーバーのバージョンは何ですか?

「いいね!」 1

サイトの復元はできましたか?

もし古い OS と Docker バージョンを実行している場合は、再構築を再試行する前に両方を更新することをお勧めします。

大規模なデータベースを更新していましたか?もしそうなら、更新はまだ実行中だった可能性があります。再構築中に、postgres_data ディレクトリと postgres_data_new ディレクトリのサイズを定期的に比較できます。postgres_data_new のサイズが増加し続けている場合、更新はまだ進行中です。(プロセスリストから pg_upgrade コマンドが実行されているかどうかを確認することもできます。)


その cp エラーは今のところ無視しても構いません。同じエラーが発生していても、標準的なインストールでテストサイトを更新できました。(これはアップストリームの変更によって引き起こされたため、エラーを削除するようにイメージを修正しますが、事前に postgres の設定が大幅に変更されていない限り、データベースの更新を妨げることはありません。)

「いいね!」 5

こんにちは,

はい、サイトを復元することができました。実際に大きなデータベースを更新しており、postgres_data_newが成長しているかどうか上記のディレクトリを監視していました。しばらくするとそれ以上成長せず、スクリプトがこのコマンドで停止してしまいました。

私たちの設定は非常に標準的でしたが、データベースのサイズが大きいことを除けば。詳細をまとめて、後でこれらの詳細を投稿します。

「いいね!」 1