Rails没有使用Postgres用户帐户

时间:2011-02-06 23:31:26

标签: ruby-on-rails ruby-on-rails-3 postgresql

我在Ubuntu 10.10上使用Rails 3.0和PostgreSQL 8.4,在pg gem上使用Ruby 1.9.2p136。当我运行rake db:migrate时,我收到错误FATAL: password authentication failed for user "my_os_user_account",当我实际上希望它以database.yml中指定的my_db_username登录数据库时。

我在pg_hba.conf中为Unix套接字和IP连接配置了md5身份验证,我可以在命令行上使用psql登录。我也尝试将身份验证设置为信任。 psql然后允许我在不输入密码的情况下登录,但Rails然后提供FATAL: role "my_os_user_account" does not exist

这是database.yml:

development:
  adapter: postgresql
  database: my_project_dev
  user: my_db_username
  password: my_password
  pool: 5
  timeout: 5000

其他几乎相同的测试和生产条目。

2 个答案:

答案 0 :(得分:10)

username的正确密钥实际上是username而不是user。容易犯错,容易修复。

答案 1 :(得分:1)

我有类似的问题。但是,我的问题是实际用户名括号和database.yml中的passowrd,如“[admin] ... [passowrd]”,这适用于ruby 1.8.7,但不适用于较新的版本。花了整整一天加剧了这一天。我意识到读完这篇文章后可能会这样。 (耸耸肩)希望这有助于其他人。