"Autenticación de pares" significa que está usando un socket de Unix y espera que el usuario de Unix que se conecta tenga el mismo nombre de usuario de Unix que el nombre de usuario de Postgresql.
Dado que su nombre de usuario local de Unix es funkdified
y estás intentando conectarte como usuario goodsounds
sobre un socket de dominio unix (local
) conexión donde su pg_hba.conf
especifica peer
autenticación, Pg rechaza correctamente su intento de conexión.
Este es el comportamiento predeterminado para muchas instalaciones cuando se usan sockets de Unix.
Puedes:
- Conéctese a través de TCP/IP especificando un nombre de host en la configuración de conexión de su base de datos;
- editar
pg_hba.conf
usarmd5
autenticación de contraseña en lugar depeer
autenticación para sockets unix (local
tipo de conexión) por lo que Pg acepta la autenticación de contraseña; o - Conéctese con un nombre de usuario de PostgreSQL igual que su nombre de usuario de Unix y cree el usuario en PostgreSQL si aún no existe.
Consulte los documentos para pg_hba.conf
y el resto del capítulo de autenticación del cliente de la documentación.
Tenga en cuenta que los cambios en pg_hba.conf
no surta efecto de inmediato, debe reiniciar o al menos recargar PostgreSQL para que vuelva a leer pg_hba.conf
.
Ah, también, si tiene varias versiones de PostgreSQL instaladas, es posible que tenga una libpq de una versión y un servidor de otra. En este caso, asegúrese de que la ubicación del socket de Unix al que se conecta libpq de manera predeterminada sea la misma que la de los unix_socket_directories
del servidor. o anularlo con (p. ej.) host=/tmp
en su cadena de conexión.