このメッセージが表示されているとしましょう:
FATAL: Ident authentication failed for user "..."
このエラーメッセージの原因は何ですか?
このメッセージが表示されているとしましょう:
FATAL: Ident authentication failed for user "..."
このエラーメッセージの原因は何ですか?
回答:
これは、PostgresがIdentプロトコルを使用してユーザーを認証しようとしているが、できないことを意味します。Ident authは次のように機能します。
pg_hba.conf
(内のファイル/etc/postgres-something/main
のデータベースに接続するためのプロトコルとして定義「のIdent」)db
特定のホストから接続するユーザのために考えられる原因と解決策:
sudo apt-get install oidentd
。CREATE ROLE foo
。または、にエントリを追加し/etc/postgresql/.../main/pg_ident.conf
ます。おそらく、Identではなくパスワードで接続したいかもしれません。pg_hba.conf
ファイルを適切に編集します。たとえば、次を変更します。
host all all 127.0.0.1/32 ident
に
host all all 127.0.0.1/32 md5
CentOSで、次の行を追加します/var/lib/pgsql/9.3/data/pg_hba.conf
。
host all all 127.0.0.1/32 trust
そして、他のエントリをコメント化します。
もちろん、この設定は安全ではありませんが、私のような開発VMをいじっているだけなら、おそらく大丈夫です...
これをまだ試していない場合は、pg_hba.confファイルを確認してください。/var/lib/pgsql/9.3/data/pg_hba.conf(Fedora 20)のような名前が付けられます。「find / -name pg_hba.conf」を使用して検索する必要がある場合があります。
ファイルの下部で、ローカルテスト用に「METHOD」値を「trust」に変更します(詳細については、postgresのドキュメントを参照してください)。マシンをリブートして、すべてがクリーンに開始され、新しいパラメーターが読み取られることを確認します。
うまくいけば、これはあなたの苦痛を治すでしょう。PostgreSQL 9.3でFedora 20の問題を解決しました。
pg_ctl reload
コンソールから使用SELECT pg_reload_conf();
するか、特権ユーザーとしてSQLを実行してみてください。
/var/lib/psql/data