thomas345
Goto Top

Wie bringe ich PostgreSQL dazu meine .pgpass Datei im Home Verzeichnis zu nutzen?

Hallo,

ich sitze mittlerweile schon Stunden daran und habe gefühlt das halbe Web zum Thema gelesen. Folgendes Problem habe ich mit PostgreSQL 9.0 auf einem Debian laufend:

Für ein shell script muss ich die Passworteingabe für z.B. den Befehl

psql -U mein_datebank_user -h 127.0.0.1 -d meine_datenbank

übergehen (automatisch ergänzen), damit der Befehl als cron-Job ausgeführt werden kann. Dazu habe ich die Datei /home/.pgpass angelegt und in die erste Zeile den Inhalt

*:*:meine_datenbank:mein_datenbank_user:mein_passwort

eingetragen. Leerzeichen existieren in der Datei nicht. Der Datei habe ich - wie in der Doku beschrieben - das Recht 0600 zugewiesen. Wenn ich nun den psql Befehl ausführe, sollte das Passwort - wenn ich das richtig verstanden habe - aus der .pgpass Datei genommen werden. Ich muss es aber dennoch manuell eingeben. Ich habe den Eindruck, dass er die Datei einfach ignoriert wird. Möglicherweise kann man auch irgendwo angeben, wo die .pgpass Datei liegt?!?!

Schöne Grüße

Thomas

Content-Key: 173077

Url: https://administrator.de/contentid/173077

Printed on: April 23, 2024 at 20:04 o'clock

Member: sebfoe
Solution sebfoe Sep 14, 2011, updated at Dec 16, 2013 at 16:40:45 (UTC)
Goto Top
Hallo Thomas,

das File (.pgpass) muss im Home Verzeichnis des Users(!) liegen (also /home/#USERNAME#/.pgpass)

ls -l /home/`whoami`/.pgpass

Ausgabe:
-rw------- 1 username username 56 2011-05-31 14:54 /home/username/.pgpass

Wenn das So aussieht muss es funktionieren
Member: thomas345
thomas345 Sep 14, 2011 at 11:09:32 (UTC)
Goto Top
Hallo sebfoe,

"das File (.pgpass) muss im Home Verzeichnis des Users(!) liegen (also /home/#USERNAME#/.pgpass)"

das hat geholfen, du bist damit heute mein persönlicher Held. :D

Grüße