Posted at

Ident authentication failed with Capistrano

More than 5 years have passed since last update.


問題

RailsアプリケーションをCapistranoでデプロイしようと$ bundle exec cap production deployしたときに、デプロイ先のPostgreSQLの設定やリポジトリのdatabase.ymlの設定が正しいはずなのに

FATAL:  Ident authentication failed for user "username"

というエラーが吐かれることがあります。


解決法

Amazon LinuxにyumでPostgreSQLを入れた場合、


Before


/var/lib/pgsql9/data/pg_hba.conf

host  all  all  127.0.0.1/32  ident



After


/var/lib/pgsql9/data/pg_hba.conf

host  all  all  127.0.0.1/32  password


といった設定変更を行った後、$ sudo /etc/init.d/postgresql restartで設定を反映すると、DBへのアクセスができるようになります。

他の環境の場合は、pathを適宜読み替えてください。


pg_hba.conf について

pg_hba.confの詳細は以下のページで。

http://www.postgresql.jp/document/9.2/html/auth-pg-hba-conf.html