ERROR AL CREAR USUARIO E INTENTAR ACCEDER A POSTGRESQL
Si creamos un usuario en postgreSQL e intenamos acceder, nos da el siguiente error:
//Creamos el usuario dentro de psql (también podriamos crearlo fuera)
postgres=# create user usuario22 with password 'usuario22';
CREATE ROLE
//Salimos de psql, e intentamos entrar.
El -W es para que nos pida la contraseña.
El -d es para especificarle el nombre de la base de datos.
postgres@debian:/home/dani$ psql -U usuario22 -W -d alumnos;
Contraseña para usuario usuario22:
2 tipos de errores
//ERROR 1
psql: FATAL: la autentificación Ident falló para el usuario «usuario22»;
Este error es porque no existe ningun usuario en el archivo pg_hba.conf
También puede ser porque el método de cifrado de contraseña es erróneo.
//ERROR 2
psql: FATAL: No se encuentra pg_hba.conf o el archivo es incorrecto
HINT: Vea el registro del servidor para obtener más detalles.
Este error es porque aún existiendo usuario en pg_hba.conf no se encuentra usuario22.
SOLUCION
Debemos editar el pg_hba.conf
debian:/home/dani# gedit /etc/postgresql/8.1/main/pg_hba.conf
Y en él, debemos incluir a los usuarios que queramos que puedan acceder desde psql.
local all user22 md5
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all user22 127.0.0.1/32 md5
Reiniciamos el servicio y debe funcionar!.
debian:/home/dani# /etc/init.d/postgresql-8.1 restart
INTENTAMOS ACCEDER
postgres@debian:/etc/postgresql/8.1/main$ psql -U user22 -W -d alumnos;
Contraseña para usuario user1:
Bienvenido a psql 8.1.11, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
alumnos=#
a mi me suele dar problemas a veces si no le especifico el host,
ResponderEliminares decir, si en pg_hba tengo una línea que indique la conexión por el host 127.0.0.1, y trato conectarme:
psql -U postgres -W
>> me pide clave, la coloco y me da error de ident
pero si hago:
psql -U postgres -W -h 127.0.0.1
>> me pide la clave, pero esta vez si entra.
Muchas gracias! a mí en su día me funcionó así, pero te agradezo que hayas publicado esa diferencia por si alguien tiene el mismo problema.
ResponderEliminarUn saludo!.
no eso no me funciona.... porfa deverias ser mas brebe con ese asunto a mi tansolo me tira ese error y ni con cambiar la clave me deja entrar porfa ayudame con eso el error es el siguiente
ResponderEliminarError connecting to the server: FATAL: la autentificación «password» falló para el usuario «postgres»
ResponderEliminary la verda si me heces el fa y me respondes pronto te lo agradeceria... mi correo es yfreldragon@hotmail.com hagale q es bn
ResponderEliminarRealmente no es el mismo error, y yo no tuve ese problema, puede ser que cuando has introducido en el pg_hba.conf tu usuario, no has puesto el cifrado de contraseña correcto, a mí me funciona con MD5.
ResponderEliminarTambién puede ser que estas utilizando el usuario postgres y estas poniendo de manera errónea la contraseña. Lo que deberias hacer es crearte un usuario nuevo y seguir los pasos que dice arriba. A ver si con el usuario nuevo puedes entrar!.
De todas formas prueba a entrar simplemente con psql....y se entrará directamente con el usuario postgres!.
A 2012 con centos 6.2 y postgres 9.1 existe el mismo inconveniente, procuren utilizar la dirección en lugar de localhost.
ResponderEliminar