我做了什么:
sudo -u postgres psql
CREATE ROLE shop CREATEDB LOGIN PASSWORD 'kurt1245';
然后我从GitHub(一个使用pg的rails应用程序)克隆了一个存储库,bundle install
,编辑database.yml
来编写我的密码,现在在rake db:create
之后(同时setup
并且migrate
)不起作用。
database.yml
:
development:
adapter: postgresql
encoding: unicode
database: shop_development
pool: 5
username: shop
password: kurt1245
test:
adapter: postgresql
encoding: unicode
database: shop_test
pool: 5
username: shop
password: kurt1245
答案 0 :(得分:8)
请将主机添加到您的database.yml文件中。希望它会对你有所帮助。
development:
adapter: postgresql
encoding: unicode
host: localhost
database: shop_development
pool: 5
username: shop
password: kurt1245
test:
adapter: postgresql
encoding: unicode
host: localhost
database: shop_test
pool: 5
username: shop
password: kurt1245
答案 1 :(得分:6)
几天前我遇到了同样的错误。
修改/etc/postgresql/$version/main/pg_hba.conf
您可以在psql控制台中查看您使用的select VERSION();
内部pg_hba.conf
更改
local all postgres peer
为:
local all postgres md5
<强> Peer Authentication explained 强>
19.3.7。对等身份验证
对等身份验证方法通过获取客户端来工作 来自内核的操作系统用户名并将其用作允许的 数据库用户名(带有可选的用户名映射)。这个方法是 仅在本地连接上受支持。