当我尝试使用User.connection或generic-table.connection连接到我的pg数据库时出现此错误
PG :: ConnectionBad:致命:用户'用户名'的对等身份验证失败
我仔细检查了我的database.yml,看起来不错。我认为问题在于我的pg_bha.conf文件?我现在无法在我的应用程序或系统中找到此文件。
的database.yml
development:
adapter: postgresql
encoding: utf8
database: project_development
pool: 5
username:
password:
test: &TEST
adapter: postgresql
encoding: utf8
database: project_test
pool: 5
username: name
password:
production:
adapter: postgresql
encoding: utf8
database: project_production
pool: 5
username: name
password:
cucumber:
<<: *TEST
Thanks for the help.
答案 0 :(得分:5)
首先,找到你的pg_hba.conf:
sudo find / -name "pg_hba.conf"
我的系统上是/var/lib/pgsql/data/pg_hba.conf。
请务必在pg_hba.conf中更改此行:
local all all local
到:
local all all md5
最后,重启postgresql:
OS X:
launchctl unload ~/Library/LaunchAgents/org.postgresql.postgres.plist
launchctl load ~/Library/LaunchAgents/org.postgresql.postgres.plist
<强> Systemd:强>
sudo systemctl restart postgresql.service
<强>的SysVinit:强>
sudo service postgresql restart
答案 1 :(得分:1)
我使用了这个教程"How To Setup Ruby on Rails with Postgres"
在我的database.yml中插入了这一行:
........
default: &default
adapter: postgresql
encoding: unicode
username: user
password: password
pool: 5
host: localhost
.........