Cumplí esto con 4 roles que creé:
después de cambiar la contraseña de un usuario en pgAdmin III usando la GUI (1), ese usuario ya no puede iniciar sesión.
pgAdmin III muestra mensaje de error:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Mi sistema: Postgresql 9.2 en Ubuntu 12.04
¿Hay alguna forma de arreglar esto?
(1): inicie sesión con la cuenta postgres, haga clic con el botón derecho del usuario en Roles de inicio de sesión, vaya a la pestaña 'Definición' e ingrese la contraseña
fuente
trust
opeer
en elpg_hba.conf
archivo de esta cuenta.Lo más sencillo es iniciar sesión con psql o pgAdmin y
Ahora, si no puede iniciar sesión con una cuenta de superusuario, puede recuperarlo alterando la configuración de pg_hba.conf para este usuario y volver a cargar la configuración (a veces encuentro que esto requiere reiniciar el servidor, pero no estoy seguro de por qué).
Lo que puede hacer es agregar una línea que le permita iniciar sesión usando el método de identificación (igual en 9.2) (si puede usar una cuenta del sistema local con el mismo nombre que el usuario) para conexiones locales para el usuario, o (si eso no es posible) establecido en "confianza" (¡muy temporalmente!). Si usa la confianza, retroceda lo antes posible, ya que esto significa "¡confíe en que el usuario es quien dice!" y, en consecuencia, es peligroso dejar esta configuración habilitada fuera de las necesidades inmediatas de recuperación.
Una vez que haya iniciado sesión, puede restablecer la contraseña anterior.
fuente
Para la variante de Windows: también experimenté este desagradable error debido a pgAdmin para mi instalación de Windows x64 de la versión 9.2. Dejó mi producción paralizada.
En la carpeta
C:\Program Files\PostgreSQL\9.2\data
oC:\Program Files (x86)\PostgreSQL\9.**x**\data
, encontrará el archivo de texto pg_hba.conf .Encuentra las siguientes líneas:
y cambie MÉTODO md5 a "confianza" como este:
Desde el
Windows>Run
tipo "services.msc" y [enter] encuentre la instancia correcta de PostgreSQL y reiníciela.¡Su seguridad de base de datos ahora está completamente abierta! Preste atención a la advertencia para devolverlo a md5 después de cambiar el tiempo de vencimiento de la contraseña del usuario para decir el año 2099 para todos los usuarios relevantes.
fuente
Si aún no lo ha intentado, revise su archivo pg_hba.conf. Se llamará algo así como /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); puede que tenga que usar 'find / -name pg_hba.conf' para localizarlo.
Al final del archivo, cambie los valores de 'MÉTODO' a 'confianza' para las pruebas locales (consulte los documentos de postgres para obtener información completa). Reinicie la máquina para asegurarse de que todo esté limpio y se lean los nuevos parámetros.
Esperemos que esto cure tus problemas. Resolvió mis problemas en Fedora 20 con PostgreSQL 9.3.
ACTUALIZACIÓN 2016-10-14:
En Ubuntu, el nombre de archivo necesario es
/etc/postgresql/9.5/main/pg_hba.conf
. Solo para pruebas locales , modifíquelo para que se vea así:Las dos líneas con MÉTODO "confianza" son nuevas. Le permiten conectarse sin un nombre de usuario / contraseña.
Cuando finalice, deberá reiniciar el servidor a través de:
fuente
pg_hba.conf
que surta efecto, solo necesita una recarga, no un reinicio. Además, su sugerencia parece incompleta, ya que no está claro cómo resolvería el problema al final.Acabo de tener el mismo problema y resultó que tenía varios usuarios con el mismo nombre (diferentes casos). Una vez que fusioné la propiedad y eliminé una, al menos estaba claro. Dependiendo del método de conexión, el caso no se transfirió necesariamente para la autenticación.
fuente