2010-10-01 27 views
7

Estoy tratando de habilitar root (Ubuntu 8.04) para usar el comando psql sin solicitud de contraseña (con fines de scripting). Todo funcionó bien con PostGreSQL 8.3, pero migré a PostGreSQL 8.4 y el inicio de sesión sin contraseña ya no funciona.PostGreSQL sin solicitud de contraseña: .pgpass ignorado

Tengo un archivo .pgpass correcto (el mismo que para 8.3), el derecho de /root/.pgpass es 0600 pero la llamada a psql sigue solicitando una contraseña.

NB: la variable PGPASSFILE está vacía, así que supongo que se supone que se utiliza el archivo .pgpass.

¿Alguna idea brillante?

Gracias

+0

"strace -o psql ..." y luego busque en el archivo de registro ".pgpass". –

+0

Aquí están las líneas que contienen .pgpass en el archivo de registro stat ("/ root/.pgpass", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 open ("/ root/.pgpass" , O_RDONLY) = 3 stat ("/ root/.pgpass", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 open ("/ root/.pgpass", O_RDONLY) = 3 – AsTeR

+0

También tengo una línea que muestra que pgsql encontró la contraseña: read (3, "localhost: 5432: dbname: usrname: passw" ..., 4096) = 37 – AsTeR

Respuesta

11

tratar de comprobar si esto funciona:

*:*:*:postgres:password_for_postgres_user 

y luego tratar:

VERBOSITY=verbose psql --no-password --user postgres 

Esta pregunta probablemente se debe migrar a serverfault.com.

+0

Tiene razón, es más un problema de administración del servidor. El problema era que el servidor se instaló justo después de postgres 8.3 y, por lo tanto, la instalación hizo que se ejecutara en el puerto 5433 en lugar de 5432. Lo arreglé editando postgres.conf. Gracias ! – AsTeR