【问题标题】:PG::ConnectionBad: FATAL: password authentication failed for user "alphauser"PG::ConnectionBad: FATAL: 用户“alphauser”的密码验证失败
【发布时间】:2015-03-01 12:36:50
【问题描述】:

我正在为我的大学编写 Rails 应用程序。该应用程序是由前一年的学生开始的,现在轮到我和我的同事继续工作了。我从 github 获取了应用程序,我运行了 bundle install,但是什么时候运行 rake db:migrate 我得到了这个 PG::ConnectionBad: FATAL: password authentication failed for user "alphauser"。 在 database.yml 我有这些

 development:
  adapter: postgresql
  encoding: unicode
  database: alpha_database
  host: localhost
  pool: 5
  username: alphauser
  password: alphapassword

我不知道在这种情况下该怎么办。

【问题讨论】:

    标签: ruby-on-rails postgresql authentication


    【解决方案1】:

    您必须像这样手动创建相应的用户和数据库:

    在外壳中: psql

    然后:

      create user alphauser with password 'alphapassword';
      create database alpha_database owner alphauser;
      alter user alphauser superuser createrole createdb replication;
      \q
    

    不要忘记分号。

    【讨论】:

    • 我什至无法创建新用户。关于没有权限这样做的事情。所以我先是$ sudo su - postgres,在调用psql之前输入了我的密码(我在Ubuntu上),然后我继续回答你的问题。
    • 在终端输入psql也不成功,怎么登录psql
    【解决方案2】:

    尝试使用:

    sudo -u postgres createuser --interactive --pwprompt

    添加角色和密码

    【讨论】:

      【解决方案3】:

      所以问题在于您的 rails 应用程序使用 database.yml 文件尝试连接到您的本地数据库,但找不到用户 alphauser(因为我假设您使用不同的计算机/环境作为以前的学生)。

      数据库有类似于应用程序的用户,postgres 文档在这方面非常密集,但我猜如果你可以创建一个用户alphauser,并将其设置为密码alphapassword,那么你将拥有一个新的干净数据库。可以在 rake db:migrate 上运行的应用程序。

      Postgres 文档:http://www.postgresql.org/docs/9.2/static/app-createuser.html

      尝试从命令行createuser -P -s -e alphauser运行此命令

      这将提示输入密码,即alphauserpassword

      【讨论】:

        【解决方案4】:
         create user alphauser with password 'alphapassword';
        

        然后

        rake db:setup
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-25
          • 2018-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-24
          相关资源
          最近更新 更多