Digamos que você esteja vendo esta mensagem:
FATAL: Ident authentication failed for user "..."
Quais são as causas dessa mensagem de erro?
Digamos que você esteja vendo esta mensagem:
FATAL: Ident authentication failed for user "..."
Quais são as causas dessa mensagem de erro?
Respostas:
Isso significa que o Postgres está tentando autenticar um usuário usando o protocolo Ident e não pode. A autenticação de identificação funciona assim:
pg_hba.conf
arquivo (in /etc/postgres-something/main
) define 'Ident' como o protocolo para conectar-se ao banco db
de dados para usuários que se conectam a partir de determinados hostsPossíveis causas e soluções:
sudo apt-get install oidentd
).CREATE ROLE foo
. Como alternativa, adicione uma entrada em /etc/postgresql/.../main/pg_ident.conf
.Talvez você realmente queira se conectar com uma senha , não com Ident. Edite o pg_hba.conf
arquivo adequadamente. Por exemplo, altere:
host all all 127.0.0.1/32 ident
para
host all all 127.0.0.1/32 md5
Não tenho certeza sobre as causas, mas isso corrigiu para mim:
em pg_hba.conf
mude para isso:
hospedar todos os 127.0.0.1/32 md5
Erro exato: Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"
No CentOS, adicione a seguinte linha a /var/lib/pgsql/9.3/data/pg_hba.conf
:
host all all 127.0.0.1/32 trust
E comente as outras entradas.
Claro, essa configuração não é segura, mas se você está apenas brincando em uma VM de desenvolvimento como eu, provavelmente está bem ...
Se você ainda não tentou isso, verifique seu arquivo pg_hba.conf. Será nomeado algo como /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); você pode precisar usar 'find / -name pg_hba.conf' para localizá-lo.
Na parte inferior do arquivo, altere os valores 'METHOD' para 'trust' para testes locais (consulte os documentos do postgres para obter informações completas). Reinicie a máquina para garantir que tudo esteja limpo e que os novos parâmetros sejam lidos.
Espero que isso cure suas desgraças. Ele resolveu meus problemas no Fedora 20 com o PostgreSQL 9.3.
pg_ctl reload
no console ou SELECT pg_reload_conf();
ao executar o SQL como um usuário privilegiado.
/var/lib/psql/data