2013-05-17 2 views
0

Приложение My Rails не может подключиться к Postgresql. Я подозреваю, что это связано с тем, что Postgres ожидает, что пользователь войдет в систему, чтобы тот же пользователь зарегистрировался в Ubuntu (12.10).Роль не существует при входе в Postgresql

[email protected]:~$ whoami 
deployer 
[email protected]:~$ psql 
psql: FATAL: role "deployer" does not exist 

Моя установка с последующей последовательности:

а) Как корень @ сервер я создал новую группу admin и новый пользователь deployer

groupadd admin 
adduser deployer --ingroup admin 
ssh-copy-id [email protected] 

б) я вошел в качестве Deployer и установлены Postgres

sudo add-apt-repository ppa:pitti/postgresql 
sudo apt-get update 
sudo apt-get install postgresql libpq-dev 

c) На моем удаленном сервере я вошел в psq л и создается новый пользователь, чтобы соответствовать моей Rails приложения:

sudo -u postgres psql 
create user 'my_app' with password 'secret'; 
create database my_app_production owner my_app; 

Для развертывания Я использую deployer пользователя. Эта ошибка продолжает прибывать во время развертывания:

FATAL: password authentication failed for user "my_app"

Вот мой database.yml

production: 
    adapter: postgresql 
    encoding: utf8 
    database: my_app_production 
    pool: 5 
    host: localhost 
    username: my_app 
    password: secret 

Запуск \du в PSQL производит это:

Role name |     Attributes     | Member of 
------------+------------------------------------------------+----------- 
postgres | Superuser, Create role, Create DB, Replication | {} 
my_app  |            | {} 
+0

Что разрешения на пользователя/роль my_app? Имеет ли этот пользователь соответствующий доступ к базе данных my_app_production? – thisfeller

+0

Это атрибуты отображаются как пробелы. Я обновляю вопрос и добавлю таблицу внизу. – dee

ответ

4
[email protected]:~$ psql 
psql: FATAL: role "deployer" does not exist 

Вам нужно создать пользователя в Postgres:

create user deployer; 

В качестве альтернативы, добавить экспорт в вашем профиле, например:

export PGUSER=postgres 

Или изменить вызовы Psql по мере необходимости: psql -Uusername database

+0

Спасибо, Денис, но я пытаюсь подключиться как 'my_app' не развертыватель. Мне не нужен пользователь развертывания с Postgres. Хотя команда экспорта полезна. – dee

Смежные вопросы