Discourseがランダムに動作しないか再構築しない

突然ですが、Discourse が実行できなくなり、./launcher rebuild app を使用しても再構築されません。すべてのプラグインもコメントアウトしました。

起動しようとした際のログはこちらです: https://codefile.io/f/8XUuOqyEDd

./launcher rebuild app を使用した際のログはこちらです。 「failed listening on port 6379 (TCP) aborting」というメッセージが表示されますが、そのポートで実行中のものはありません。

https://codefile.io/f/zxCBRzEOA9

これはあなたの問題とは関係ないと思います。この警告は、再構築中に(常に?)表示されます。

error: connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: Connection refused

こちらが問題の原因である可能性が高いと思います。

これが手がかりになるかもしれません。

これを実行したときに動かない原因になっているのでしょうか(./launcher rebuild appを実行せずに)

私はサーバー上の他のすべてのサービスを停止し、最新のUbuntu LTSにアップデートしましたが、それでもこのように表示されます:

PG::ConnectionBad: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused (PG::ConnectionBad)
        Is the server running locally and accepting connections on that socket?

これが私が考えるエラーだと思います。

13や15でテンプレートをスワップしても、参照された投稿に示されている問題は解決しませんでした。

原因:
PG::ConnectionBad: サーバーへのソケット「/var/run/postgresql/.s.PGSQL.5432」経由での接続に失敗しました: そのようなファイルまたはディレクトリはありません (PG::ConnectionBad)
サーバーはローカルで実行されており、そのソケットで接続を受け入れていますか?

timeout: down: postgres: 1s, normally up, want up

データベースが正しく起動していないようです。ログによると、時折正常に起動するようですが、短時間だけなので、これは見当違いかもしれません。

ok: run: postgres: (pid 315501) 0s

Postgresのログに問題の手がかりがあるかもしれません。特にアプリコンテナを起動しようとしたときです。

tail -f shared/standalone/log/var-log/postgres/current
「いいね!」 2

PostgreSQL 15 update を実行しましたか?

私も、クリーンではないシャットダウンが原因だと思います。バックアップがある場合は、新しいVMを起動して復元します。その際、postgres_* を除外して、Move a Discourse site to another VPS with rsync に従うことができます。

バックアップがない場合の唯一の選択肢は、あまり知りたくないであろう PostgreSQL に関する多くのことを理解することです。

私のフォーラムがダウンしている場合(管理設定にアクセスしてバックアップをダウンロードできない場合)、バックアップにどのようにアクセスできますか?

また、何も移行していません。通常通り使用しており、Web UIを通じて更新しています。なぜデータベースが異常終了したのでしょうか?

Postgresのログを提供します。少々お待ちください。

2025-03-22 00:30:44.110 UTC [4922] FATAL: ロックファイル「postmaster.pid」が空です
2025-03-22 00:30:44.110 UTC [4922] HINT: 別のサーバーが起動中であるか、ロックファイルが以前のサーバー起動クラッシュの残骸である可能性があります。
2025-03-22 00:30:45.127 UTC [4964] FATAL: ロックファイル「postmaster.pid」が空です
2025-03-22 00:30:45.127 UTC [4964] HINT: 別のサーバーが起動中であるか、ロックファイルが以前のサーバー起動クラッシュの残骸である可能性があります。
2025-03-22 00:30:46.151 UTC [4966] FATAL: ロックファイル「postmaster.pid」が空です
2025-03-22 00:30:46.151 UTC [4966] HINT: 別のサーバーが起動中であるか、ロックファイルが以前のサーバー起動クラッシュの残骸である可能性があります。
2025-03-22 00:30:47.168 UTC [4970] FATAL: ロックファイル「postmaster.pid」が空です
2025-03-22 00:30:47.168 UTC [4970] HINT: 別のサーバーが起動中であるか、ロックファイルが以前のサーバー起動クラッシュの残骸である可能性があります。
2025-03-22 00:30:48.192 UTC [4977] FATAL: ロックファイル「postmaster.pid」が空です
2025-03-22 00:30:48.192 UTC [4977] HINT: 別のサーバーが起動中であるか、ロックファイルが以前のサーバー起動クラッシュの残骸である可能性があります。

-rw------- 1 syslog kvm 0 Mar 18 19:48 /var/discourse/shared/standalone/postgres_data/postmaster.pid

ここにロックファイルがあります

/var/discourse/shared/standalone/backups/default にあります。

以前リンクした rsync の手順に従えば、それらを取得できます。

クラッシュしたか、サーバーが再起動したか、何らかの理由で発生しました。

ほとんどのアップグレードでは、データベースは 1 組のテーブル(テーブルが追加および変更されます)から別の組のテーブルに「移行」されます。

コンテナを停止してそのロックファイルを削除してみてください。

PG_VERSION を確認して、どのバージョンがあるか確認してください。テンプレートを変更しようとしたと思います。

はい、エラーを確認した後、変更を試みました。

それで、ロックファイルを削除するために rm /var/discourse/shared/standalone/postgres_data/postmaster.pid を実行してから、再構築を試せばよいでしょうか?

また、この件について手伝ってくれてありがとうございます。

「いいね!」 1

このコマンドでロックファイルを削除しますか?

rm /var/discourse/shared/standalone/postgres_data/postmaster.pid が解決策でした。ありがとうございます!

「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.