【问题标题】:heroku db:pull failing due to lack of password when I haven't specified a passwordheroku db:当我没有指定密码时,由于缺少密码而导致拉取失败
【发布时间】: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


    【解决方案1】:

    身份验证方法trust 可能会奏效,但您无疑知道,这并不安全。
    编辑pg_hba.conf 后,不必重新启动。 A reload is enough (quoting the manual):

    pg_hba.conf 文件在启动时和主服务器时被读取 进程收到一个 SIGHUP 信号。如果您在一个活动的 系统,您需要向邮件管理员发送信号(使用pg_ctl reload 或 kill -HUP) 使其重新读取文件。

    pg_ctl reload
    

    请参阅fine manual。您可能需要version for 8.3 的手册。 heroku 上的共享数据库当前在 PostgreSQL 8.3 上运行。 (另外,我怀疑你是否可以访问 heroku 上的 pg_ctl。)

    注意this

    如果用户没有设置密码,则存储的密码为空 该用户的身份验证将始终失败

    强调我的。您可能能够在本地登录,因为 auth-methods ident or peer 允许这样做。但出于您的目的,您可能需要一个密码!

    【讨论】:

    • 先生,您是一位绅士和一位学者。关键点是您对空密码的引用,这意味着用户的身份验证总是失败。后来我的超级用户的一个 ALTER 给他一个密码,几分钟后我正在本地浏览我从 heroku 新提取的数据库。谢谢。
    • @Dave:我向你的好话鞠躬,分享你的喜悦。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-18
    • 2011-09-30
    • 2017-04-11
    • 2019-05-11
    • 2018-10-20
    • 1970-01-01
    相关资源
    最近更新 更多