Ошибка входа с существующим пользователем в 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
Ответы
Ответ 1
Вы запутываете пользователя системы с пользователем базы данных. Сообщение об ошибке появляется от sudo
и не имеет ничего общего с PostgreSQL.
Чтобы войти в систему как пользователь базы данных Jason:
psql -U Jason
Вам необходимо предоставить пароль, конечно, если доступ к паролю не настроен. Аутентификация одноранговой сети работает только для системного пользователя с тем же именем ( "Джейсон" ).
Подробнее о отличном руководстве psql
здесь и о методах проверки подлинности здесь.