
Solo queremos 1 rol que posea 1 base de datos, Domain-Unix Socket, sin contraseña
postgres@luciol-essai:~$ more /etc/postgresql/8.4/main/pg_hba.conf | grep jppstphp
local essais_php jppstphp trust
postgres@luciol-essai:~$
Éxito con psql:
envol@luciol-essai:~$ psql -U jppstphp essais_php
psql (8.4.15)
essais_php=>
Fallo con pgadmin3:
Este es el error.
Error connecting to the server: FATAL: authentification Ident ?chou?e pour l'utilisateur << jppstphp >>
Respuesta1
Parece que a PgAdmin-III se le está indicando que se conecte a localhost
o 127.0.0.1
, por lo que está usando TCP/IP, mientras que a psql no se le está dando una especificación de host, por lo que está usando sockets UNIX ( local
).
Deje el campo de nombre de host en pgadmin3 en blanco o agregue otra pg_hba.conf
entrada para host essais_php jppstphp 127.0.0.1/32 trust
.
Respuesta2
Debes revisar todo tu pg_hba.conf
expediente, el orden de las directivas es importante. Supongo que mantuviste la línea predeterminada:
local all all ident
Si esta línea está presente antes de su línea específica acerca de jppstphp
, el servidor postgresql primero intentará identificarlo a partir de su nombre de usuario UNIX, que parece ser envol
. Esto fallará porque intenta conectarse como usuario/rol de Postgres jppstphp
.
Si mi suposición es correcta, eliminar la línea anterior (y posiblemente la entrada similar con md5
autenticación de contraseña) o colocar su jppstphp
línea antes debería permitirle conectarse a través del enchufe local.
Para conectarse a través del enchufe local, todo lo que se requiere es dejar el campo de host en blanco, como lo hizo usted.
Respuesta3
Tuve el mismo problema con psql a través de la conexión de la línea de comandos y pgAdmin no se conecta en RDS con AWS. Tenía mi RDS configurado en Acceso público. Me aseguré de que mi ACL y mis grupos de seguridad estuvieran completamente abiertos y siguieran teniendo problemas, así que hice lo siguiente:
sudo find . -name *.conf
luego sudo nano ./data/pg_hba.conf
agregué a la parte superior de las directivas en el archivo pg_hba.conf host all all 0.0.0.0/0 md5
y pgAdmin me inició sesión automáticamente.
Como nota al margen, mi RDS estaba en mi VPC predeterminada. Tenía una instancia de RDS idéntica en mi VPC no predeterminada con configuración de grupo de seguridad, ACL y grupo de seguridad idénticas a mi VPC predeterminada y no pude hacer que funcionara. No estoy seguro de por qué, pero eso es para otro día.