为Postgres Ruby-on-Rails应用程序设置本地开发

时间:2014-05-13 22:50:17

标签: ruby-on-rails ruby postgresql ruby-on-rails-4

因此,我尝试开始使用现有的RubyRails应用程序,我已经设置了RVM,Rails和PostgreSQL。我在我测试的应用程序上测试了rails服务器,我可以连接到localhost:3000就好了。当我复制现有应用时,我试图继续工作,cd并运行rails serverlocalhost:3000给了我

PG::ConnectionBad
fe_sendauth: no password supplied

我已经在Google和SO上寻找了几个小时,但却无法找到合适的解决方案。经过大量阅读后我尝试的是将我的pg_hba.conf文件更改为postgres以进行以下设置:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                md5
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

我保存了这些更改并重新启动了终端(重新加载这些更改),我在localhost:3000上收到同样的错误,PG:ConnectionBad错误。任何人都可以伸出援手吗?这太令人沮丧了。

如果有帮助,我使用Ruby 2.1.1Rails 4.1.0以及PostgreSQL 9.3谢谢!

2 个答案:

答案 0 :(得分:1)

重启终端是不够的。您可以使用

重新启动Postgres
service postgresql restart

答案 1 :(得分:0)

看起来没有为数据库指定密码:

fe_sendauth: no password supplied

您可以在此处查看如何为数据库指定用户名和密码:

http://guides.rubyonrails.org/configuring.html#configuring-a-database