【发布时间】:2011-10-05 20:16:15
【问题描述】:
当我执行 heroku db:pull 时,它会在以下位置找到我的本地开发数据库:
postgres://127.0.0.1/myapp_development?encoding=utf8
一旦我确认,它就会失败:
Sequel::DatabaseConnectionError -> PGError: fe_sendauth: no password supplied
我尝试使用指定的本地数据库运行拉取,例如
heroku db:pull postgres://root:@localhost/db_name
这给出了相同的没有提供密码的错误。
我想我可能需要将 root: 更改为 myname: 因为那是我在设置 postgres 时授予超级用户权限的用户,但 root: 或 myname: 都不起作用
对于所有指定的数据库,我的 database.yml 的用户名:和密码:空白。
作为 myname@ubuntu 的命令行,我可以键入 psql myapp_development 并正常连接并运行选择。
我在这里错过了什么?
它与我的 pg_hba.conf 设置有关吗?我看了一下里面,上面写着:
# Database administrative login by UNIX sockets
local all postgres ident
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
应该在那里使用“信任”吗?如果是这样,如果我编辑该文件,是否需要重新启动 postgres?如果需要“信任”,那么当以 myname 用户身份登录时,rails 和 psql 命令行工具如何在没有密码的情况下工作?
谢谢!
【问题讨论】:
标签: ruby-on-rails postgresql ubuntu heroku