Crell
(Larry Garfield)
2020 年 6 月 10 日午後 7:35
1
こんにちは。2.4.5 の新規インストール(アップグレードではありません)を行っています。データベースと対話する Rake コマンドを実行しようとすると、以下のエラーが発生します。
rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Google で検索すると、これは主に PostgreSQL サーバー自体が停止しており、再起動が必要であることを示しているようです。ただし、今回のケースではそうではありません。PostgreSQL は別のコンテナで実行されており、ネットワーク経由で手動接続も問題なく行えます。
注目すべき点は、ローカルソケット経由で接続しようとしていることです。しかし、config/discourse.conf には、ホスト名とポート、ユーザー名とパスワードを指定して PostgreSQL インスタンスに接続する設定が明記されています(手動接続時に使用するのと同じ認証情報です)。
このことから、discourse.conf が全く読み込まれていないのではないかと思われます。その場合、デフォルトで Unix ソケット経由の localhost 接続にフォールバックしてしまい、ローカルにデータベースが存在しないため接続できないという状況になるでしょう。これが私の最善の推測ですが、これが正しいかどうか、また正しい場合の修正方法がわかりません。
どなたか、正しい方向へのヒントをいただけますでしょうか?
Falco
(Falco)
2020 年 6 月 10 日午後 7:51
2
なぜこのファイルを調べているのですか?これはDiscourse 公式の標準インストール を使用して本番環境に導入したものですか?
「いいね!」 1
pfaffman
(Jay Pfaffman)
2020 年 6 月 10 日午後 7:53
3
Crell:
ローカルソケットを介して接続しようとしています
標準インストールを行った場合、何らかの理由で web.socketed.template.yml を含めましたか?
Crell
(Larry Garfield)
2020 年 6 月 10 日午後 8:04
4
いいえ、これは Docker 環境ではありません(別のホストです)。タグの git クローンに、DB 認証情報の追加や force_https の true 設定などの編集を加えたものです。
@pfaffman web.socketed.template.yml ファイルが見つかりません。
混乱するのは、以前はこれが動作していた(少なくともこの部分は)ことです。その後、サブディレクトリに移動し(ウェブサーバー設定もそれに向けて更新)、データベースと通信できなくなりました。なぜ片方がもう片方に影響を与えるのか、私には理解できません。
(技術的には、これは Docker を使用しない別のホスト向けのビルドプロセスです。Discourse のワンクリックインストールテンプレートを設定しようとしていますが……難航しています。)
pfaffman
(Jay Pfaffman)
2020 年 6 月 10 日午後 8:06
5
その通りです。Discourse に関する専門知識(おそらくあなたが持っていないもの)と、あなたのローカル環境に関する専門知識(ここでは誰も持っていないもの)が大量に必要になります。幸運を祈ります。
unsupported-install タグを付けます。
「いいね!」 3
残念ながら、組織としての健全性を保つため、ここでサポートできることには限界があります。このインストールは確かに複雑なもののようですね。
「いいね!」 4