Tom Lane wrote:
Christopher Kings-Lynne <[EMAIL PROTECTED]> writes:
After some tests, I found that using the PGPASSWORD environment variable will do the job. I'm a bit irritated that it's marked "deprecated" in the docs, the .pgpass solution isn't a good one for tool managed passwords.
I didn't notice it was deprecated either - it's the only way that phpPgAdmin can integrate with pg_dump...
It's deprecated because it's insecure, on platforms where other users can see the environment variables passed to pg_dump (which apparently is quite a few variants of Unix). You wouldn't pass the password on the command line either ...
Painful as .pgpass may be for an admin tool, I do not know of any other method I'd recommend on a multiuser machine.
How about an environment variable that points to a .pgpass type file. Or we could even play games with PGPASSWORD - if it names an existing file that satisfies the .pgpass criteria then it will be taken as the location of the .pgpass file instead of $HOME/.pgpass - otherwise its value will be considered to be the password itself. The Chris could have phppgadmin write the password file, set the environment var and call pg_dump happily (and remove the file afterwards).
cheers
andrew
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html