アップデート「3.4.0.beta4」に失敗しました

GUIアップデートボタンをクリックするようにログインするようにという通常のメールを受け取りました。通常は機能しますが、今回はサイト全体が説明もなくクラッシュしました。

ウェブサイトGUIが使用できないため、ドロップレットにSSHで接続し、/var/discourseに移動して再起動しようとしましたが、フリーズしました。

接続を閉じ、再度SSHで接続し、ディレクトリに移動して再構築しようとしましたが、これもフリーズしました。

同様の苦情がいくつかありますが、解決策はありません。どうすればよいでしょうか?

フリーズしたときの出力は次のとおりです。

# ./launcher rebuild app
WARNING: Docker version 20.10.5 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T23:22:07.378632 #1]  INFO -- : Reading from stdin
I, [2025-02-06T23:22:07.397972 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2025-02-06T23:22:07.403501 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2025-02-06T23:22:07.409307 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2025-02-06T23:22:07.415306 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
I, [2025-02-06T23:22:07.420321 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2025-02-06T23:22:07.421155 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.423599 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.428964 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.434970 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.435971 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.437209 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.438032 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.438766 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.439506 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T23:22:07.440192 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T23:22:07.440757 #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-02-06T23:22:07.441342 #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-02-06T23:22:07.442038 #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

failed to set locale!
[error] character map file `UTF-8' not found: No such file or directory
failed to set locale!
[error] default character map file `ANSI_X3.4-1968' not found: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = "en_US.UTF-8",
	LC_ALL = "en_US.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
cat: /shared/postgres_data/PG_VERSION: No such file or directory
popen failure: Cannot allocate memory
initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "/usr/lib/postgresql/15/bin/initdb"
I, [2025-02-06T23:22:09.511169 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
Upgrading PostgreSQL from version to 15

I, [2025-02-06T23:22:09.511908 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-02-06T23:22:09.514561 #1]  INFO -- : Terminating async processes
2025-02-06 23:22:09.541 GMT [51] LOG:  skipping missing configuration file "/shared/postgres_data/postgresql.auto.conf"
2025-02-06 23:22:09.542 UTC [51] FATAL:  data directory "/shared/postgres_data" has invalid permissions
2025-02-06 23:22:09.542 UTC [51] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).


PostgreSQL 15 update を参照してください

パーミッションを変更する必要があります(所有者について間違っていました)

私も同じ問題を抱えています

これらの問題を修正する必要があります。サーバーのスペックを教えていただけますか?

「いいね!」 2

OH!Dockerのバージョン問題に気づいていませんでした。

@anon55243134、バックアップ(可能であれば)を作成し、新しいVMに移行することをお勧めします(最近のバックアップがない場合は、rsyncを使用してDiscourseサイトを別のVPSに移動するを参照してください)。

「いいね!」 1

関連記事:

おそらく、EOL(サポート終了)を過ぎているのでしょう。

新しいVMを起動してそれに切り替えるには、ダウンタイムがゼロで済みます。もし何か問題が発生した場合でも、既存のサーバーに留まることができます。ただし、少し複雑です。

古いバックアップに戻らなければならなかったとのこと、申し訳ありません。バックアップを毎日取得するようにし、アップデート前にバックアップを取るようにすれば、何も失う必要がなくなるでしょう。

アップデート前にベータ版または安定版のブランチに切り替えることができます。Discourseソフトウェアアップデートを取得するためにサポートされているトラッキングブランチを構成するについて読むことができます。

「いいね!」 1

data.yml を使用しています。app.yml を使用している場合は、app.yml 内の postgres.template.yml の参照設定に注意してください。データベースのアップグレードプロセスでは、バージョン 13 から 15 へのアップグレードを達成するために階層参照を使用する必要があります。