Quiero crear un usuario que solo tenga acceso a una base de datos específica. Sin embargo, debe tener todo el permiso. Yo uso Postgresql 9.5 en Ubuntu 14.04. Entonces, antes que nada, creo un nuevo usuario:
$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
A continuación, creo una nueva base de datos con el propietario joe:
$sudo -u postgres psql
$CREATE DATABASE myDB OWNER joe;
$GRANT ALL ON DATABASE myDB TO joe;
Después de eso, trato de conectarme con el usuario Joe para conectarme a mi base de datos myDB:
$psql myDB -U joe
psql: FATAL: Peer authentication failed for user "joe"
¿Qué tengo que hacer a continuación?
postgresql
privileges
Qeychon
fuente
fuente
Respuestas:
Abrir
/etc/postgresql/9.5/main/pg_hba.conf
con acceso rootCambiar
peer
amd5
en estas líneas.Antes de cambiar
Después de su cambio
Guarde el archivo presionando Ctrl- O. Salga de nano con Ctrl-X
Reinicie postgresql usando
fuente
sudo -u postgres psql -c "SHOW config_file"
host all all 127.0.0.1/32 ident
,host all all ::1/128 ident