pg_connect (): Não é possível conectar-se ao servidor PostgreSQL

4

Eu li vários artigos detalhando essa correção para esse problema exato. Eu tentei todos os tipos de variações de edição do arquivo pg_hba.conf, mas não tenho sorte eu ainda recebo o seguinte erro no meu log do Apache quando tento executar o programa de php que estou tentando usar.

Thu Mar 28 08:20:21 2013] [error] [client 172.16.1.64] PHP Warning: pg_connect(): >Unable to connect to PostgreSQL server: FATAL: Peer authentication failed for user

Este é o meu arquivo pg_hba.conf atual:

Eu não sei mais o que tentar, qualquer ajuda é muito apreciada!

Obrigado!

    
por Mysteri0n 28.03.2013 / 13:48

1 resposta

1

Considere a primeira regra no pg_hba.conf :

local all all peer

Isso significa que, para todas as conexões locais, o usuário Unix deve ser o mesmo que o usuário db. Obviamente, este não é o caso para você php code, daí a falha Peer autenticação falhou para o usuário ... .

A segunda regra permite que seu script seja conectado, mas é ignorado porque a primeira regra tem precedência:

local all all trust

Esta regra significa que todas as conexões locais são permitidas sem exigir senha e sem verificar qualquer identidade.

Se estiver tudo bem com você, basta excluir a primeira regra e recarregar o serviço postgresql para que a alteração entre em vigor.

As outras regras não devem ser relevantes para o problema, pois estão relacionadas a conexões TCP e, de acordo com a mensagem de erro, não é o método usado pelo seu script que está tentando se conectar através do soquete padrão do domínio Unix.

    
por Daniel Vérité 28.03.2013 / 22:14