postgres создает нового пользователя/роль

postgres создает нового пользователя/роль

Я следую этому руководству и, войдя в систему как postgres, запускаю: createuser --interactive

указал имя и выбрал суперпользователя

затем:

createdb dogspot

но при попытке

sudo -i -u dogspot

Я получил:

postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin

но пользователь точно существует, потому что при попытке снова создать пользователя появляется сообщение об уже существующем. Некоторые подсказки, как это сделать правильно, будут оценены.

версия базы данных:

psql (PostgreSQL) 9.3.4

версия ОС:

Ubuntu 14.04 LTS

ОБНОВЛЯТЬ:

похоже, что все, что нужно было сделать, это создать пользователя Linux с соответствующим именем:

sudo useradd -d /home/dogspot -m dogspot

sudo passwd dogspot

решение1

Вы путаете пользователей PostgreSQL и пользователей операционной системы.

Пользователь PostgreSQL может существовать без соответствующего пользователя операционной системы.

По умолчанию для подключений используется peerаутентификация, при которой вы должны работать как пользователь ОС с тем же именем, что и у пользователя PostgreSQL, к которому вы пытаетесь подключиться.pg_hba.confНо вы можете это изменить ., для всех пользователей или только для некоторых пользователей/БД. Подробнее см.аутентификация клиентаглава.

Связанный контент