「ピア認証」とは、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
で上書きします 接続文字列で。