Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

passing password to psql, pg_restore etc.?

1,474 views
Skip to first unread message

Skeptik

unread,
Apr 10, 2008, 12:39:00 PM4/10/08
to
Hello.
How to pass password in these commands, without beeing prompted, and
without pgpass.conf?

psql -h localhost -p 5432 -U postgres -f MONITORINGZ_GLOBALS.sql
createdb -h localhost -p 5432 -U postgres -E UTF8 -O monitoringz
MONITORINGZ
pg_restore.exe -i -h localhost -p 5432 -U postgres -d "MONITORINGZ" -s -v
"MONITORINGZ.backup"

By the way, I am not concerned about security in this case...

Thanks.


Thomas Guettler

unread,
Apr 11, 2008, 1:59:39 AM4/11/08
to
Skeptik schrieb:

> Hello.
> How to pass password in these commands, without beeing prompted, and
> without pgpass.conf?
>

If you DB is on a unix machine and you connect from this machine,
you can use this line in pg_hba.conf:

local all all ident sameuser

This allows access without password if the db-username matches
the unix username.

Thomas

--
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

Piotr Szwed

unread,
Apr 11, 2008, 9:14:32 AM4/11/08
to
Skeptik pisze:


28.12. The Password File

The file .pgpass in a user's home directory or the file referenced by
PGPASSFILE can contain passwords to be used if the connection requires a
password (and no password has been specified otherwise). On Microsoft
Windows the file is named %APPDATA%\postgresql\pgpass.conf (where
%APPDATA% refers to the Application Data subdirectory in the user's
profile).

This file should contain lines of the following format:

hostname:port:database:username:password

Each of the first four fields may be a literal value, or *, which
matches anything. The password field from the first line that matches
the current connection parameters will be used. (Therefore, put
more-specific entries first when you are using wildcards.) If an entry
needs to contain : or \, escape this character with \. A hostname of
localhost matches both host (TCP) and local (Unix domain socket)
connections coming from the local machine.

The permissions on .pgpass must disallow any access to world or group;
achieve this by the command chmod 0600 ~/.pgpass. If the permissions are
less strict than this, the file will be ignored. (The file permissions
are not currently checked on Microsoft Windows, however.)

Skeptik

unread,
Apr 11, 2008, 3:00:24 PM4/11/08
to
thanks

"Thomas Guettler" <h...@tbz-pariv.de> je napisao u poruci interesnoj
grupi:668d2cF...@mid.individual.net...

Skeptik

unread,
Apr 11, 2008, 3:00:14 PM4/11/08
to
thanks

"Piotr Szwed" <psz...@eo.pl> je napisao u poruci interesnoj
grupi:ftnma0$qcs$1...@node1.news.atman.pl...

0 new messages