2010-10-01 17 views
7

Próbuję włączyć root (Ubuntu 8.04), aby użyć komendy psql bez pytania o hasło (w celu skryptowania). Wszystko działało dobrze z PostGreSQL 8.3, ale migruję do PostGreSQL 8.4 i logowanie bez hasła już nie działa.PostGreSQL bez pytania o hasło: .pgpass zignorowano

Mam poprawny plik .pgpass (taki sam jak w wersji 8.3), prawa do /root/.pgpass to 0600, ale wywołanie psql wciąż pyta o hasło.

Uwaga: zmienna PGPASSFILE jest pusta, więc zakładam, że należy użyć pliku .pgpass.

Dowolny genialny pomysł?

Dzięki

+0

"strace -o psql ...", a następnie sprawdź plik dziennika dla ".pgpass". –

+0

Oto linie zawierające .pgpass do stat pliku dziennika ("/ 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

Mam również wiersz pokazujący, że pgsql znalazł hasło: read (3, "localhost: 5432: dbname: usrname: passw" ..., 4096) = 37 – AsTeR

Odpowiedz

11

Spróbuj sprawdzić, czy to działa:

*:*:*:postgres:password_for_postgres_user 

a następnie spróbuj:

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

To pytanie powinno być prawdopodobnie przeniesiona do serverfault.com.

+0

Masz rację, to bardziej problem z administrowaniem serwerem. Problem polegał na tym, że serwer został zainstalowany zaraz po postgresie 8.3, a więc instalacja sprawiła, że ​​uruchomiono go na porcie 5433 zamiast 5432. Naprawiłem go edytując postgres.conf. Dzięki ! – AsTeR

Powiązane problemy