尝试使用vagrant为本地VM中的rails应用程序设置postgres。我可以与流浪者用户进入postgres shell没问题:
psql -d postgres -U vagrant
但是,当运行rake db:create
等命令时,出现错误:
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"vagrant_d", "username"=>"vagrant"}
The driver encountered an unknown error: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "vagrant"
我的yaml文件:
development:
adapter: postgresql
encoding: unicode
database: vagrant_d
username: vagrant
test:
adapter: postgresql
encoding: unicode
database: vagrant_t
username: vagrant
我已经设置了pg_hba.conf文件:
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
有什么想法吗?
注意这是一个带有postgresql 9.1的debian机器
答案 0 :(得分:0)
只需将host: localhost
添加到数据库配置即可。这迫使它通过TCP / IP连接,否则它可能会尝试通过套接字连接。
答案 1 :(得分:0)
为流浪者用户创建密码并授予权限:
=# alter user vagrant with password '';
=# alter role vagrant superuser createdb replication;