我在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 回答
username
的正确键实际上是username
而不是user
. 容易出错,容易修复 .我遇到了类似的问题 . 但是,我的问题是实际用户名括号和database.yml中的passowrd,如“[admin] ... [passowrd]”,这适用于ruby 1.8.7,但不适用于较新的版本 . 花了整整一天加剧了这一天 . 我意识到读完这篇文章后可能会这样 . (耸耸肩)希望这有助于其他人 .