Quero criar um usuário que tenha acesso apenas a um banco de dados especificado. No entanto, deve ter toda a permissão. Eu uso o Postgresql 9.5 no Ubuntu 14.04. Então, primeiro, eu crio um novo usuário:
$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
Em seguida, crio um novo banco de dados com o proprietário joe:
$sudo -u postgres psql
$CREATE DATABASE myDB OWNER joe;
$GRANT ALL ON DATABASE myDB TO joe;
Depois disso, tento conectar-me ao usuário joe para conectar no meu banco de dados myDB:
$psql myDB -U joe
psql: FATAL: Peer authentication failed for user "joe"
O que eu tenho que fazer a seguir?
postgresql
privileges
Qeychon
fonte
fonte
Respostas:
Abrir
/etc/postgresql/9.5/main/pg_hba.conf
com acesso rootMude
peer
paramd5
nestas linhas.Antes de mudar
Após a sua alteração
Salve o arquivo pressionando Ctrl- O. Saia do nano com Ctrl-X
Reinicie o postgresql usando
fonte
sudo -u postgres psql -c "SHOW config_file"
host all all 127.0.0.1/32 ident
,host all all ::1/128 ident