Rails+Postgres fe_sendauth:未提供密码

嗨,我正在尝试将postgresql连接到我的rails项目。我正在学习测试,但我的测试没有运行,因为有一个关于密码不正确的postgresql错误:

Edmunds MacBook Pro:langexchange edmundmai$rake测试:单位
雷克流产了!
fe_sendauth:未提供密码

我已经读过了,我的pg_hba.conf文件最初是这样的:

#键入数据库用户地址方法
#“本地”仅用于Unix域套接字连接
本地所有信任
#IPv4本地连接:
托管所有127.0.0.1/32信任
#IPv6本地连接:
主机所有::1/128信任
#允许具有的用户从本地主机进行复制连接
#复制权限。
#本地复制

这是我的rails项目中的database.yml文件

默认值:&违约
适配器:postgresql
编码:utf8
游泳池:5
用户名:edmundmai
密码:
发展:
&lt<:*违约
数据库:项目开发
测试:
&lt<:*违约
数据库:项目测试
制作:
&lt<:*违约
数据库:项目生产

有人知道我该怎么解决这个问题吗?如果方便的话,我们可以聊天

确保已在生产托管服务器上定义了RAILS_ENV和RACK_ENV。我遇到了一个类似的问题,除了rake之外,其他一切都正常工作,解决方案是将RACK_ENV=production添加到我的环境中。RAILS_ENV已设置为生产

export RACK\u ENV=production

bundle exec rake db:version

您应该看到一些输出,例如:

当前版本:20121126151935

解决方案:确保您的Rails应用程序可以访问Rails_ENV和RACK_ENV环境变量。另外,确保它们都是相同的值

发表评论