sql >> Base de Datos >  >> RDS >> PostgreSQL

Obtención de error:la autenticación de pares falló para el usuario postgres, al intentar que pgsql funcione con rieles

El problema sigue siendo tu pg_hba.conf archivo*.

Esta línea:

local   all             postgres                                peer

Debería ser:

local   all             postgres                                md5

* La ubicación de este archivo no es muy consistente. El comando locate pg_hba.conf debería ayudar; aquí hay algunos ejemplos:/etc/postgresql/*/main/pg_hba.conf y /var/lib/pgsql/data/pg_hba.conf .

Después de modificar este archivo, no olvide reiniciar su servidor PostgreSQL. Si está en Linux, sería sudo service postgresql restart .

Estas son breves descripciones de ambas opciones según los documentos oficiales de PostgreSQL sobre métodos de autenticación.

Autenticación de pares

El método de autenticación de pares funciona obteniendo el nombre de usuario del sistema operativo del cliente del kernel y usándolo como el nombre de usuario permitido de la base de datos (con asignación de nombre de usuario opcional). Este método solo se admite en conexiones locales.

Autenticación de contraseña

Los métodos de autenticación basados ​​en contraseña son md5 y contraseña. Estos métodos funcionan de manera similar, excepto por la forma en que la contraseña se envía a través de la conexión, es decir, MD5 hash y texto claro, respectivamente.

Si le preocupan los ataques de "olfateo" de contraseñas, entonces prefiere md5. Si es posible, siempre se debe evitar la contraseña simple. Sin embargo, md5 no se puede usar con la función db_user_namespace. Si la conexión está protegida por encriptación SSL, la contraseña se puede usar de manera segura (aunque la autenticación con certificado SSL podría ser una mejor opción si se depende del uso de SSL).

Ejemplo de ubicación para pg_hba.conf :
/etc/postgresql/9.1/main/pg_hba.conf