Подтвердить что ты не робот

Ошибка входа с существующим пользователем в PostgreSQL

Я только начал играть с PostgreSQL. Моя цель - создать нового пользователя вне postgres со всеми теми же привилегиями и создать базу данных для моего приложения ror. Я могу войти в систему после postgres. Я создал пользователя с именем Jason, что хорошо, однако, когда я делаю sudo -u username psql, я получаю следующую ошибку...

sudo: unknown user: Jason
sudo: unable to initialize policy plugin

Я могу определить, что имя пользователя существует, проверяя как \dg в моей консоли postgres.

                         List of roles
Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
Jason     | Superuser, Create role, Create DB, Replication | {}
postgres  | Superuser, Create role, Create DB, Replication | {}

Что вызывает эту проблему? Кроме того, я проверил локальные pg_hba.conf и получил то, что считаю верным.

# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
4b9b3361

Ответ 1

Вы запутываете пользователя системы с пользователем базы данных. Сообщение об ошибке появляется от sudo и не имеет ничего общего с PostgreSQL.

Чтобы войти в систему как пользователь базы данных Jason:

psql -U Jason

Вам необходимо предоставить пароль, конечно, если доступ к паролю не настроен. Аутентификация одноранговой сети работает только для системного пользователя с тем же именем ( "Джейсон" ).
Подробнее о отличном руководстве psql здесь и о методах проверки подлинности здесь.