He instalado PostgreSQL 8.4, cliente Postgres y Pgadmin 3. La autenticación falló para el usuario "postgres" tanto para el cliente de la consola y Pgadmin. He escrito el usuario como "postgres" y la contraseña "postgres", porque funcionaba antes. Pero ahora la autenticación falla. Lo hice antes un par de veces sin este problema. ¿Qué debo hacer? ¿Y qué pasa?
psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
Si no recuerdo mal, el usuario postgres
no tiene una contraseña DB por defecto en Ubuntu. Eso significa, que usted puede iniciar sesión en esa cuenta sólo mediante el uso de la cuenta postgres
OS user.
Asumiendo que tienes acceso root
en la caja puedes hacerlo:
sudo -u postgres psql
Si eso falla con un error de base de datos "postgres" no existe
, entonces lo más probable es que no estés en un servidor Ubuntu o Debian :-) En este caso, simplemente añade template1
al comando:
sudo -u postgres psql template1
Si alguno de esos comandos falla con un error psql: FATAL: password authentication failed for user "postgres"
entonces revisa el archivo /etc/postgresql/8.4/main/pg_hba.conf
: Debe haber una línea como esta como primera línea sin comentarios:
local all postgres ident
Para las nuevas versiones de PostgreSQL ident
en realidad podría ser peer
. Eso también está bien.
Dentro de la shell psql
puedes darle al usuario DB postgres
una contraseña:
ALTER USER postgres PASSWORD 'newPassword';
Puedes salir del shell psql
escribiendo CtrlD o con el comando \q
.
Ahora deberías poder darle a pgAdmin una contraseña válida para el superusuario de la BD y también estará contento. :-)
La respuesta del personal es correcta, pero si se quiere automatizar más se puede hacer:
`$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
¡Hecho! Has guardado Usuario = postgres y contraseña = postgres.
Si usted no tiene una contraseña para el usuario postgres ubuntu hacer:
$ sudo passwd postgres
Intente no utilizar el parámetro -W y deje la contraseña en blanco. A veces el usuario se crea sin contraseña.
Si eso no funciona restablezca la contraseña. Hay varias maneras de hacerlo, pero esto funciona en muchos sistemas:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';