2010-10-01 4 views
7

Sto tentando di abilitare root (Ubuntu 8.04) per utilizzare il comando psql senza password (per scopi di scripting). Tutto ha funzionato bene con PostGreSQL 8.3, ma ho migrato a PostGreSQL 8.4 e il login senza password non funziona più.PostGreSQL senza richiesta password: .pgpass ignorato

Ho un file .pgpass corretto (lo stesso utilizzato per 8.3), il diritto di /root/.pgpass è 0600 ma chiamando psql continua a chiedere una password.

NB: la variabile PGPASSFILE è vuota, quindi presumo che il file .pgpass debba essere utilizzato.

Qualche idea geniale?

Grazie

+0

"strace -o psql ..." e quindi cercare nel file di registro ".pgpass". –

+0

Ecco le righe contenenti .pgpass nel file di 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

Ho anche una riga che mostra che pgsql ha trovato la password: read (3, "localhost: 5432: dbname: usrname: passw" ..., 4096) = 37 – AsTeR

risposta

11

provare a controllare se questo funziona:

*:*:*:postgres:password_for_postgres_user 

e quindi provare:

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

Questa domanda dovrebbe probabilmente essere migrato a serverfault.com.

+0

Hai ragione è più un problema di amministrazione del server. Il problema era che il server è stato installato subito dopo Postgres 8.3 e quindi l'installazione lo fa girare sulla porta 5433 invece che su 5432. L'ho risolto modificando postgres.conf. Grazie ! – AsTeR