2016-03-26 1 views
0

Я работаю над проектом с другом. Я клонировал приложение из битбакет. Все было хорошо, кроме postgresql (v9.3.7). Он продолжает давать мне следующее сообщение.Настройка postgresql в рельсах

psql: FATAL: password authentication failed for user "ubuntu" 
FATAL: password authentication failed for user "ubuntu" 

Я создал суперпользователя, а также все базы данных. Назначенные пользователи и список всех баз данных приведены ниже.

ubuntu=# \du 
          List of roles 
Role name |     Attributes     | Member of 
-----------+------------------------------------------------+----------- 
divjot | Superuser          | {} 
postgres | Superuser, Create role, Create DB, Replication | {} 
ubuntu | Superuser, Create role, Create DB    | {} 

List of databases 
     Name  | Owner | Encoding | Collate | Ctype | Access privileges 
-----------------+----------+-----------+---------+-------+----------------------- 
app_development | ubuntu | SQL_ASCII | C  | C  | 
app_production | ubuntu | SQL_ASCII | C  | C  | 
app_test  | ubuntu | SQL_ASCII | C  | C  | 
postgres  | postgres | SQL_ASCII | C  | C  | 
template0  | postgres | SQL_ASCII | C  | C  | =c/postgres   + 
       |   |   |   |  | postgres=CTc/postgres 
template1  | postgres | SQL_ASCII | C  | C  | =c/postgres   + 
       |   |   |   |  | postgres=CTc/postgres 
ubuntu   | ubuntu | SQL_ASCII | C  | C  | 

Я всегда боролся с конфигурацией postgresql в рельсах. Я полностью соблюдаю документацию, однако каждый раз, когда я пытаюсь клонировать приложение или перемещаю код, у меня всегда возникают проблемы. Я не уверен, почему я получаю эту ошибку. Любая помощь в этом отношении была бы весьма признательна. Благодаря!!

+0

похоже, что пользователь 'ubuntu' не разрешен для входа. Проверьте свой файл pg_hba.conf. – wildplasser

+0

@wildplasser, что такое команда для доступа к файлам. –

+0

Какая версия? Часть вопроса (IME) является той версией. – Gene

ответ

1

Отказ от ответственности: Я не специалист по pgsql. Но я успешно настроил pg/rails в нескольких версиях и средах. Вот что я предлагаю.

  • Найти pg_hba.conf файл. Так как вы, по-видимому, используя Ubuntu, попробуйте

    cd /
    find . -name pg_hba.conf -print 2> /dev/null

Это будет искать весь диск, который может занять некоторое время. Но в конечном итоге это обеспечит путь. Если он производит более одного, вам нужно будет решить, какой из них правильный.

Если вы знаете, где установлен PG, cd вместо него.

Теперь

  • Проверьте метод аутентификации для пользователя ubuntu является password или, может быть md5. Here - соответствующая страница документов. Если вас интересует только местная разработка, вы можете изменить password на trust. Но если это для производства, это плохая идея.

  • В то время вошли в pg командной строки запустите
    ALTER USER ubuntu PASSWORD 'newpassword';
    обеспечить пароль, что вы думаете.

  • Вы должны разместить database.yaml или ENV['DATABASE_URL'] настроек. В общем, database.yaml должен точно соответствовать тому, что ожидает pg.

Например:

development: 
    adapter: postgresql 
    encoding: unicode 
    database: app_development 
    pool: 5 
    username: ubuntu 
    password: <your password> 
    allow_concurrency: true 

Оговорка: Не совершайте производственные пароли к вашим сделкам РЕПО, или даже Дев пароли, если вы не полностью контролировать репо.

+0

Мне потребовалось некоторое время, чтобы найти и отредактировать файл. Спасибо, что указал мне в правильном направлении. Высоко цените это, спасибо! –