pgsql pode se conectar, pgadmin não pode

pgsql pode se conectar, pgadmin não pode

Queremos apenas 1 função possuindo 1 banco de dados, soquete unix de domínio, sem senha

postgres@luciol-essai:~$ more /etc/postgresql/8.4/main/pg_hba.conf | grep jppstphp
local   essais_php  jppstphp                       trust
postgres@luciol-essai:~$ 

Sucesso com psql:

envol@luciol-essai:~$ psql -U jppstphp essais_php
psql (8.4.15)
essais_php=> 

Falha com pgadmin3:

Este é o erro.

Error connecting to the server: FATAL:  authentification Ident ?chou?e pour l'utilisateur << jppstphp >>

Responder1

Parece que o PgAdmin-III está sendo instruído a se conectar ao localhostor 127.0.0.1, então ele está usando TCP/IP, enquanto o psql não está recebendo uma especificação de host, então ele está usando soquetes UNIX ( local).

Deixe o campo do nome do host em pgadmin3 em branco ou adicione outra pg_hba.confentrada para host essais_php jppstphp 127.0.0.1/32 trust.

Responder2

Você deve verificar todo o seu pg_hba.confarquivo, a ordem das diretivas é importante. Acho que você manteve a linha padrão:

local   all         all                               ident

Se esta linha estiver presente antes da sua linha específica about jppstphp, o servidor postgresql tentará primeiro identificá-lo a partir do seu nome de usuário UNIX, que parece ser envol. Isso falhará porque você tenta se conectar como postgres user/role jppstphp.

Se minha suposição estiver correta, remover a linha acima (e possivelmente a entrada semelhante com md5autenticação por senha) ou colocar sua jppstphplinha antes dela permitirá que você se conecte através do soquete local.

Para conectar através do soquete local, basta deixar o campo Host em branco, como você fez.

Responder3

Tive o mesmo problema com o psql via conexão de linha de comando e o pgAdmin não se conectou no RDS com AWS. Eu tinha meu RDS definido como acessível publicamente. Certifiquei-me de que minha ACL e grupos de segurança estavam bem abertos e ainda com problemas, então fiz o seguinte: sudo find . -name *.conf em sudo nano ./data/pg_hba.conf seguida, adicionei ao topo das diretivas no arquivo pg_hba.conf host all all 0.0.0.0/0 md5 e o pgAdmin me conectou automaticamente.

Como observação lateral, meu RDS estava em meu VPC padrão. Eu tinha uma instância RDS idêntica em minha VPC não padrão com configurações de grupo de segurança, ACL e grupo de segurança idênticas às de minha VPC padrão e não consegui fazê-la funcionar. Não sei por que, mas isso fica para outro dia.

informação relacionada