Rails服务器发出错误

时间:2015-05-26 19:34:58

标签: ruby-on-rails ruby database postgresql

我正在运行命令"rails server",但是当它启动时,它会发出以下错误:

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

我无法弄清楚,可能是什么问题,这是我的GemFile:

development:
  adapter: postgresql
  encoding: unicode
  database: app_development
  host: localhost
  pool: 5
  username: app_name
  password: password

我正在使用posgresql db在Ubuntu上运行Rails。

2 个答案:

答案 0 :(得分:1)

我假设您没有设置postgres用户帐户。

运行此命令:

sudo -u postgres psql postgres

这将以postgres超级用户身份登录postgres。然后你想要create a user

CREATE ROLE my_app PASSWORD 'password' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;

创建数据库是重要的权限。其余的应该不重要,请参阅文档以获取更多信息。

然后在你的database.yml

development:
  adapter: postgresql
  encoding: unicode
  database: my_app_development
  pool: 5
  username: my_app
  password: password    
  host: localhost
  port: 5432

然后您应该能够通过my_app用户运行rake db:create来创建my_app_development数据库。

答案 1 :(得分:0)

首先,我希望不是你的" GemFile",我希望它是你的config/database.yml文件。

其次,我觉得这样做有点傻,因为你所表现出来的错误对我来说似乎很清楚,但也许你只需要改写错误。您已使用app_name用户名和密码password将您的应用配置为登录postgresql数据库。这些凭据对您的数据库无效。