Acabei de instalar o PostgreSQL 9.4 no Ubuntu 15.10.
- Eu criei um usuário com
createuser -P myuser
- Eu criei um banco de dados com
createdb -O myuser mydatabase
- Eu editei
pg_hba.conf
e adicioneilocal mydatabase myuser md5
- Eu reiniciei o PostgreSQL com
sudo service postgresql restart
O usuário myuser é apenas um usuário do PostgresSQL e não possui uma conta de usuário no Ubuntu.
Quando tento conectar-me ao banco de dados, psql -W mydatabase myuser
ele falha psql: FATAL: Peer authentication failed for user "myuser"
.
O PostgreSQL está em execução…
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2016-03-03 09:53:00 CET; 9min ago
Process: 22219 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 22219 (code=exited, status=0/SUCCESS)
Mar 03 09:53:00 SERVER01 systemd[1]: Starting PostgreSQL RDBMS...
Mar 03 09:53:00 SERVER01 systemd[1]: Started PostgreSQL RDBMS.
... e ouvindo.
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:postgresql *:* LISTEN
tcp6 0 0 localhost:postgresql [::]:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 151534 /var/run/postgresql/.s.PGSQL.5432
O que devo fazer para conectar-me ao usuário myuser ao banco de dados mydatabase ?
Primeiro ... verifique se você possui as linhas que permitem o usuário myuser no pg_hba.conf. Por exemplo:
Ou qualquer outra linha de permissão para IPV4 (e IPv6 se você usar) com: TIPO MÉTODO DE ENDEREÇO DO USUÁRIO DO TYPE DATABASE
Após essa verificação, execute o psql da seguinte maneira:
E, no prompt solicitado, digite a senha do usuário myuser.
fonte
'*'
e adicionou ahost all all 0.0.0.0/0 md5
regra. Não foi necessário remover a autenticação de mesmo nível. Apenas trabalhei com o-h localhost
param. Melhor resposta, já que você provavelmente não precisa tocar na configuração em uma instalação padrão.