Я хочу создать пользователя, который имеет доступ только к указанной базе данных. Тем не менее, он должен иметь все разрешения. Я использую Postgresql 9.5 на Ubuntu 14.04. Итак, прежде всего, я создаю нового пользователя:
$createuser --interactive joe
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
Далее я создаю новую базу данных с владельцем Джо:
$sudo -u postgres psql
$CREATE DATABASE myDB OWNER joe;
$GRANT ALL ON DATABASE myDB TO joe;
После этого я пытаюсь соединиться с пользователем joe для подключения к моей базе данных myDB:
$psql myDB -U joe
psql: FATAL: Peer authentication failed for user "joe"
Что мне делать дальше?
postgresql
privileges
Qeychon
источник
источник
Ответы:
Открыть
/etc/postgresql/9.5/main/pg_hba.conf
с правами rootИзменение
peer
вmd5
этих строках.Перед сменой
После вашего изменения
Сохраните файл нажатием Ctrl- O. Выход из нано с Ctrl-X
Перезапустите postgresql, используя
источник
sudo -u postgres psql -c "SHOW config_file"
host all all 127.0.0.1/32 ident
,host all all ::1/128 ident