pg_connect(): PostgreSQL サーバーに接続できません

pg_connect(): PostgreSQL サーバーに接続できません

この問題の修正方法を詳しく説明した記事を複数読みました。pg_hba.conf ファイルの編集方法をいろいろ試してみましたが、うまくいかず、使用しようとしている PHP プログラムを実行しようとすると、Apache ログに次のエラーが引き続き表示されます。

2013年3月28日木曜日08:20:21] [エラー] [クライアント172.16.1.64] PHP警告: pg_connect(): >PostgreSQLサーバーに接続できません: 致命的: ユーザーのピア認証に失敗しました

これは私の現在の pg_hba.conf ファイルです:

イムガー

他に何を試せばいいのか分かりません。どんな助けでも大歓迎です!

ありがとう!

答え1

の最初のルールを考えてみましょうpg_hba.conf:

ローカル すべて すべて ピア

これは、すべてのローカル接続において、Unix ユーザーは db ユーザーと同じである必要があることを意味します。明らかに、これは PHP コードには当てはまらないため、失敗します。ユーザーのピア認証に失敗しました...

2 番目のルールではスクリプトの接続が許可されますが、最初のルールが優先されるため無視されます。

ローカル すべて すべて 信頼

このルールは、パスワードを要求せず、ID を確認せずにすべてのローカル接続が許可されることを意味します。

問題がなければ、最初のルールを削除し、postgresql サービスを再ロードして変更を有効にします。

他のルールは TCP 接続に関連しているため、問題とは関係ありません。エラー メッセージによると、スクリプトで使用されているメソッドではなく、デフォルトの Unix ドメイン ソケットを介して接続しようとしています。

関連情報