Rails没有使用Postgres用户帐户

Rails not using Postgres user account

我在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:

1
2
3
4
5
6
7
development:
  adapter: postgresql
  DATABASE: my_project_dev
  USER: my_db_username
  password: my_password
  pool: 5
  timeout: 5000

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


事实上,username的正确键是username而不是user。 容易出错,容易修复。


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