問題はまだあなたのpg_hba.conf
です ファイル*。
この行:
local all postgres peer
あるべき:
local all postgres md5
*このファイルの場所はあまり一貫していません。コマンド
locate pg_hba.conf
役立つはずです。次にいくつかの例を示します:/etc/postgresql/*/main/pg_hba.conf
および/var/lib/pgsql/data/pg_hba.conf
。
このファイルを変更した後は、PostgreSQLサーバーを再起動することを忘れないでください。 Linuxを使用している場合は、sudo service postgresql restart
になります。 。
これらは、認証方法に関するPostgreSQLの公式ドキュメントによる両方のオプションの簡単な説明です。
ピア認証
ピア認証方式は、カーネルからクライアントのオペレーティングシステムユーザー名を取得し、それを許可されたデータベースユーザー名として使用することで機能します(オプションのユーザー名マッピングを使用)。この方法は、ローカル接続でのみサポートされています。
パスワード認証
パスワードベースの認証方法は、md5とpasswordです。これらの方法は、パスワードが接続を介して送信される方法、つまり、それぞれMD5ハッシュとクリアテキストを除いて同様に機能します。
パスワードの「盗聴」攻撃がまったく心配な場合は、md5をお勧めします。可能であれば、プレーンパスワードは常に避ける必要があります。ただし、md5をdb_user_namespace機能と一緒に使用することはできません。接続がSSL暗号化によって保護されている場合は、パスワードを安全に使用できます(ただし、SSLの使用に依存している場合は、SSL証明書認証の方が適している場合があります)。
pg_hba.conf
のサンプルの場所 :
/etc/postgresql/9.1/main/pg_hba.conf