2011-08-12 40 views
13

He instalado el servidor PostgreSQL 8.4 en mi servidor CentOS con éxito. Después de eso, me conecto al servidor CentOS mediante el uso de usuario 'postgres', pero no se puede ejecutar cualquier comando, se produce el error:autenticación de contraseña falló para el usuario "postgres"

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

Aquí está algunas configuraciones en pg_hba.conf y postgresql.conf:

--------------------configuration in postgresql.conf----------- 
listen_addresses = '*' 

--------------------configuration in pg_hba.conf--------------- 
local all   all        md5 
local all   postgres       md5 
host all   all   127.0.0.1/32   md5 
host all   all   ::1/128    md5 

Respuesta

11

asegurarse de que usa la contraseña de la cuenta de Postgres PostgreSQL, no la cuenta de sistema de Postgres. Pruebe "confianza" en lugar de "md5" en el pg_hba.conf para conectarse a la base de datos y cambie su pase.

+0

cuál es la diferencia entre la cuenta de sistema de Postgres y Postgres PostgreSQL cuenta? y ¿cómo puedo verificar si estoy usando Postgres PostgreSQL o no? –

+0

Debe saber qué contraseña usa. – Daniel

+0

He utilizado la contraseña para la cuenta de PostgreSQL. –

14

que tienden a utilizar en el siguiente pg_hba.conf:

# Database administrative login by UNIX sockets 
local all   postgres       ident 

# TYPE DATABASE USER  CIDR-ADDRESS   METHOD 
local all   all        md5 
host all   all   127.0.0.1/32   md5 
host all   all   ::1/128    md5 

Esto significa que una vez que estás "postgres", no necesita una contraseña, pero necesita derechos sudo para convertirse en Postgres, así que es bastante seguro. Cualquier otro usuario puede iniciar sesión usando la autenticación md5 simple, lo que significa que no tiene que sudo por todo el lugar. Esto funciona bien para mi.

8

Me encontré con un problema similar (el mismo mensaje de error). Al igual que Daniel, es porque confundo entre:

"postgres cuenta PostgreSQL, no la cuenta del sistema postgres".

estar seguro acerca de la contraseña de postgres, simplemente cambiarlo a '123456' (o cualquier otra contraseña)

# su postgres 
# psql -d template1 
template1=# ALTER USER postgres WITH PASSWORD '123456'; 
Cuestiones relacionadas