PG::ConnectionBad:严重:用户 "alphauser" 的密码验证失败

PG::ConnectionBad: FATAL: password authentication failed for user "alphauser"

我正在 Rails 申请我的大学。该应用程序是由去年的学生开始的,现在轮到我和我的同事们继续工作了。我从 github 获取了应用程序,我 运行 捆绑安装,但是什么时候 运行 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

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

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

在shell中: psql

然后:

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

别忘了分号。

所以问题出在您的 rails 应用程序使用 database.yml 文件尝试连接到您的本地数据库,但未能找到用户 alphauser(因为我假设您重新使用与以前的学生不同的 computers/environments)。

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

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

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

这将提示输入密码,即alphauserpassword

尝试使用:

sudo -u postgres createuser --interactive --pwprompt

添加角色和密码

 create user alphauser with password 'alphapassword';

然后

rake db:setup