「ピア認証」とは、UNIXソケットを使用しており、接続しているUNIXユーザーがpostgresqlユーザー名と同じUNIXユーザー名を持っていることを期待していることを意味します。
ローカルのUNIXユーザー名はfunkdifiedであるため ユーザーgoodsoundsとして接続しようとしています UNIXドメインソケット(local )pg_hba.confの接続 peerを指定します 認証、Pgは接続の試行を正しく拒否します。
これは、UNIXソケットを使用する場合の多くのインストールのデフォルトの動作です。
次のことができます:
- データベース接続設定でホスト名を指定して、TCP/IP経由で接続します。
-
pg_hba.confを編集しますmd5を使用するにはpeerの代わりにパスワード認証 UNIXソケットの認証(local接続タイプ)したがって、Pgはパスワード認証を受け入れます。または - unixユーザー名と同じPostgreSQLユーザー名で接続し、まだ存在しない場合はPostgreSQLでユーザーを作成します。
pg_hba.confのドキュメントを参照してください およびドキュメントのクライアント認証の章の残りの部分。
pg_hba.confへの変更に注意してください すぐに有効にしないでください。PostgreSQLを再起動するか、少なくとも再読み込みして、pg_hba.confを再読み取りする必要があります。 。
また、複数のPostgreSQLバージョンがインストールされている場合は、あるバージョンのlibpqと別のバージョンのサーバーがある可能性があります。この場合、libpqがデフォルトで接続するUNIXソケットの場所が、サーバーのunix_socket_directoriesと同じであることを確認してください。 または、(例)host=/tmpで上書きします 接続文字列で。