Postgresql: falló la autenticación de contraseña para el usuario " postgres"


He instalado PostgreSQL 8.4, Postgres client y Pgadmin 3. Falló la autenticación para el usuario "postgres" tanto para el cliente de consola como para Pgadmin. He escrito usuario como " postgres "y contraseña" postgres", porque funcionaba antes. Pero ahora la autenticación ha fallado. 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"
Author: I159, 2011-10-08

12 answers

Si recuerdo correctamente el usuario postgres no tiene una contraseña DB establecida en Ubuntu por defecto. Eso significa, que usted puede iniciar sesión en esa cuenta solo mediante el uso de la postgres Usuario del sistema operativo cuenta.

Suponiendo que tienes root acceso a la caja puedes hacer:

sudo -u postgres psql

Si eso falla con un error database "postgres" does not exists, entonces lo más probable es que no esté en un servidor Ubuntu o Debian: -) En este caso simplemente agregue 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" luego revisa el archivo /etc/postgresql/8.4/main/pg_hba.conf: Debe haber una línea como esta como la primera línea sin comentarios:

local   all         postgres                          ident

Para las versiones más recientes de PostgreSQL ident en realidad podría ser peer. Eso también está bien.

Dentro del shell psql puede darle al usuario de la base de datos postgres una contraseña:

ALTER USER postgres PASSWORD 'newPassword';

Puede salir del shell psql escribiendo CtrlD o con la orden \q.

Ahora debería ser capaz de dar a pgAdmin una contraseña válida para la base de datos superusuario y será feliz también. :-)

 549
Author: A.H.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-14 05:07:47

La respuesta del personal es correcta, pero si desea automatizar aún más puede hacer:

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

Hecho! Guardaste User = postgres y password = postgres.

Si usted no tiene una contraseña para el Usuario postgres ubuntu hacer:

$ sudo passwd postgres

 112
Author: Diego,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-24 19:33:07

Esto fue frustrante, la mayoría de las respuestas anteriores son correctas pero no mencionan que tiene que reiniciar el servicio de base de datos antes de los cambios en el pg_hba.el archivo conf tendrá efecto.

Así que si haces algo como lo anterior

Local todos los postgres ident

Luego restart como root (en centos es algo así como service service postgresql-9.2 restart ) ahora debería poder acceder a la base de datos como el usuario postgres

Ps psql psql (9.2.4) Escriba "ayuda" para obtener ayuda.

Postgres= #

Espero que esto agregue información para los nuevos usuarios de postgres

 30
Author: Miguel Pereira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-05 18:17:40

Edite el pg_hba.archivo conf, por ejemplo, con sudo emacs /etc/postgresql/9.3/main/pg_hba.conf

Cambie todos los métodos de autenticación a trust. Cambie la contraseña de Unix para el usuario "postgres". Reinicia el servidor. Inicie sesión con psql -h localhost -U postgres y use la contraseña de Unix just set. Si funciona puede volver a establecer el pg_hba.conf archivo a los valores predeterminados.

 12
Author: nottinhill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-10 15:43:43

Si está intentando iniciar sesión en postgres shell como usuario de postgres, puede usar los siguientes comandos.

Cambiar a postgres usuario

# su - postgres

Iniciar sesión en psql

# psql

Esperanza que ayuda

 10
Author: geekgugi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-16 13:32:11

Intente no usar 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';
 8
Author: Francisco Puga,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-08 10:03:43

Como regla general: NUNCA DEBE ESTABLECER UNA CONTRASEÑA PARA EL USUARIO DE POSTGRES.

Si necesita un acceso de superusuario desde pgAdmin, haga otro superusuario. De esa manera, si las credenciales de ese superusuario están comprometidas, siempre puede ssh en el host de la base de datos real y eliminar manualmente el superusuario utilizando

sudo -u postgres -c "DROP ROLE superuser;"
 3
Author: ardilgulez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-20 10:27:51

Solo quería añadir que también debería comprobar si su contraseña ha caducado.

Ver Falla la autenticación con contraseña de Postgres para más detalles.

 0
Author: Jörg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:37

Aquí hay algunas combinaciones que intenté iniciar sesión:

# login via user foo
psql -Ufoo -h localhost

sudo -u postgres psql postgres

# user foo login to postgres db
psql -Ufoo -h localhost -d postgres
 0
Author: tokhi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-10 10:16:24

Tuve un problema similar. Ubuntu me dejó iniciar sesión en la consola con cualquier contraseña para superusuario. Excepto cuando me conecté con-h localhost en el comando de línea psql.

También observé que "localhost:8080/MyJSPSiteLogIn" - mostró: Fatal: error de autenticación con el usuario "usuario".

Pg_hba.conf estaba bien.

Noté que había dos versiones de postgres ejecutándose en el mismo servicio.

Solucionado - desinstalación de la versión inutil.

 0
Author: David Uvm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-30 19:51:54

Para aquellos que lo están usando por primera vez y no tienen información sobre cuál es la contraseña, pueden seguir los siguientes pasos (suponiendo que esté en ubuntu):

  1. Abra el archivo pg_hba.conf in /etc/postgresql/9.x/main

     sudo vi pg_hba.conf 
    

    2.editar la siguiente línea

     local   all             postgres                                peer
    

    A

     local   all             postgres                                trust
    
  2. Reinicie el servidor

      sudo service postgresql restart
    
  3. Finalmente puede iniciar sesión sin necesidad de una contraseña como se muestra en la figuraFinalmente puede iniciar sesión sin necesidad de una contraseña como se muestra en la figura

Ref aquí para más información

 0
Author: Jose Kj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-16 08:21:19

Espero que esto te ayude en poco tiempo. Puede cambiar la contraseña de postgres sql mediante el siguiente comando.

Comando

Sudo-u postgres psql

Y a continuación puede actualizar la contraseña

Comando

Alter user postgres password 'YOUR_NEW_PASSWORD';

 -1
Author: Sonu patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-02 10:58:46