Rails не использует учетную запись пользователя Postgres - PullRequest
3 голосов
/ 07 февраля 2011

Я использую Rails 3.0 и PostgreSQL 8.4 на Ubuntu 10.10 и Ruby 1.9.2p136 с гемом pg. Когда я запускаю rake db:migrate, я получаю ошибку FATAL: password authentication failed for user "my_os_user_account", когда я действительно ожидал, что он войдет в базу данных как my_db_username, указанное в database.yml.

У меня настроена аутентификация md5 в pg_hba.conf для сокетов Unix и IP-соединений, и я могу войти в систему с помощью 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 ]

10 голосов
/ 07 февраля 2011

Правильный ключ для username на самом деле username, а не user. Легкая ошибка, легкое исправление.

1 голос
/ 26 января 2012

У меня была похожая проблема. Тем не менее, моя проблема заключалась в заключении в скобки фактического имени пользователя и пароля в database.yml, например, «[admin] ... [passowrd]», это работает для ruby ​​1.8.7, но не для более новых версий. Потратил на это целый мучительный день. Я понял, что это может быть после прочтения этой статьи. (пожимает плечами) Надеюсь, это поможет кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...