PG::ConnectionBad: FATAL:用户“alphauser”的密码验证失败

12

我正在为我的大学开发Rails应用程序。该应用程序是由去年的学生开始的,现在轮到我和我的同事继续开发。我从Github上获取了应用程序,运行bundle install,但当我运行rake db:migrate时,出现了这个错误PG::ConnectionBad: FATAL: password authentication failed for user "alphauser"。 在database.yml中,我有以下内容:


在database.yml中,我有以下内容:
 development:
  adapter: postgresql
  encoding: unicode
  database: alpha_database
  host: localhost
  pool: 5
  username: alphauser
  password: alphapassword

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

4个回答

18

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

在shell中: psql

然后:

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

不要忘记使用分号。


2
我甚至无法创建新用户。似乎是因为没有权限这样做。所以我首先执行了 $ sudo su - postgres,输入了我的密码(我使用的是Ubuntu),然后调用了 psql,接着继续按照你的答案进行操作。 - blue_chip
当在终端输入psql不成功时,你如何登录到psql - Huy Vo

5
尝试使用以下命令添加角色和密码:
sudo -u postgres createuser --interactive --pwprompt

3
因此,问题出在您的Rails应用程序使用database.yml文件尝试连接到本地数据库并未能找到用户alphauser(因为我假设您正在使用不同的计算机/环境作为之前的学生)。
数据库与应用程序类似具有用户,PostgreSQL文档对此进行了详细说明,但我猜测如果您可以创建一个名为alphauser的用户,并将其密码设置为alphapassword,那么您将拥有一个新的干净的数据库,可以在其上运行rake db:migrate
PostgreSQL文档:http://www.postgresql.org/docs/9.2/static/app-createuser.html 尝试从命令行运行以下命令:createuser -P -s -e alphauser 这将提示输入密码,密码为alphauserpassword

1
 create user alphauser with password 'alphapassword';

然后。
rake db:setup

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接