La autenticación de pares falló para el usuario con todos los privilegios en Postgres 9.5

La autenticación de pares falló para el usuario con todos los privilegios en Postgres 9.5

Quiero crear un usuario que solo tenga acceso a una base de datos específica. Sin embargo, debería tener todos los permisos. Utilizo Postgresql 9.5 en Ubuntu 14.04. Primero 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, intento 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?

Respuesta1

  1. Abrir /etc/postgresql/9.5/main/pg_hba.confcon acceso root

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. Cambiar peera md5en estas líneas.

    Antes de cambiar

    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            peer
    # IPv6 local connections:
    host    all             all             ::1/128                 peer
    

    Después de tu cambio

    # "local" is for Unix domain socket connections only
    local   all             all                                     md5
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    
  3. Guarde el archivo presionando Ctrl- O. Salga de nano con Ctrl-X

  4. Reinicie postgresql usando

    sudo service postgresql restart
    

información relacionada