Thread: passing passords to pgsql/pg_create/pg_dump programmatically

passing passords to pgsql/pg_create/pg_dump programmatically

From
"filippo"
Date:
Hello,

I have written a program perl/Tkprogram, based on postgres. For
maintenance reasons in my program I use these commands:

      `dropdb -U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
      `createdb -U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
      `pg_dump -U postgres -h $DATABASE_SERVER $DATABASE_NAME | psql -
U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;

my @psqlOutput = `psql -l -U postgres -h $_`;


my program has a graphic interface but whenever I use these command,
postgres ask for passord in the command line. How can I give these
commands the right passowrd programmatically or how can I   interact
with these to give the passwords by a graphic box?

Thanks and best refards,

Filippo


Re: passing passords to pgsql/pg_create/pg_dump programmatically

From
Alvaro Herrera
Date:
filippo wrote:
> Hello,
>
> I have written a program perl/Tkprogram, based on postgres. For
> maintenance reasons in my program I use these commands:
>
>       `dropdb -U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
>       `createdb -U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
>       `pg_dump -U postgres -h $DATABASE_SERVER $DATABASE_NAME | psql -
> U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
>
> my @psqlOutput = `psql -l -U postgres -h $_`;
>
>
> my program has a graphic interface but whenever I use these command,
> postgres ask for passord in the command line. How can I give these
> commands the right passowrd programmatically or how can I   interact
> with these to give the passwords by a graphic box?

You can use the PGPASSWORD environment variable, or the ~/.pgpass file
(which can actually be somewhere else by using the PGPASSFILE
environment variable, allowing you to store passwords in /tmp or
something like that, to avoid destroying a .pgpass file the user may
have).

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: passing passords to pgsql/pg_create/pg_dump programmatically

From
Lars Haugseth
Date:
* "filippo" <filippo2991@virgilio.it> wrote:
>
> Hello,
>
> I have written a program perl/Tkprogram, based on postgres. For
> maintenance reasons in my program I use these commands:
>
>       `dropdb -U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
>       `createdb -U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
>       `pg_dump -U postgres -h $DATABASE_SERVER $DATABASE_NAME | psql -
> U postgres -h $BACKUP_SERVER $BACKUP_DATABASE_NAME`;
>
> my @psqlOutput = `psql -l -U postgres -h $_`;
>
>
> my program has a graphic interface but whenever I use these command,
> postgres ask for passord in the command line. How can I give these
> commands the right passowrd programmatically or how can I   interact
> with these to give the passwords by a graphic box?

$ dropdb --help
$ createdb --help
$ pg_dump --help

As you can see, all of these command line utilities accept the -W
parameter followed by the password.

Alternatively you can configure PostgreSQL to allow connections
from certain clients without password authentication:

http://www.postgresql.org/docs/8.2/static/client-authentication.html

--
Lars Haugseth

"If anyone disagrees with anything I say, I am quite prepared not only to
 retract it, but also to deny under oath that I ever said it." -Tom Lehrer

Re: passing passords to pgsql/pg_create/pg_dump programmatically

From
Raymond O'Donnell
Date:
On 20/03/2007 14:04, Lars Haugseth wrote:

> As you can see, all of these command line utilities accept the -W
> parameter followed by the password.

Correct me if I'm wrong, but doesn't -W simply force a prompt from the
password? - it doesn't accept the password on the command line.

Using the .pgpass file allows command line utilities to run unattended
without having to supply a password manually.

Ray.

---------------------------------------------------------------
Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland
rod@iol.ie
---------------------------------------------------------------