Falha na autenticação de pares para usuário com todos os privilégios no Postgres 9.5

Falha na autenticação de pares para usuário com todos os privilégios no Postgres 9.5

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, antes de tudo, 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 me conectar com o 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 devo fazer a seguir?

Responder1

  1. Abrir /etc/postgresql/9.5/main/pg_hba.confcom acesso root

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. Mude peerpara md5nestas linhas.

    Antes de mudar

    # "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
    

    Depois da sua mudança

    # "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. Salve o arquivo pressionando Ctrl- O. Saia do nano com Ctrl-X

  4. Reinicie o postgresql usando

    sudo service postgresql restart
    

informação relacionada