.pgpass with postgreSQL not working
I have put a .pgpass file in /folder/.pgpass and it looks like this
*:*:*:postgres:password_for_postgres
I have a bash script where I backup the database from postgreSQL:
#!/bin/bash
export PGPASSFILE=/folder/.pgpass
echo $PGPASSFILE
pg_dump --username=postgres --format=c --file=/backup/db/db.sqlc database
However, the script still promts me for the password. PGPASSFILE has the value as it should, as far as I can see. Any hints on what the problem might be?
/K
Is the pgpass file set to mode 0600 (i.e. read/write only by the owner)? The client library will ignore it if it's group- or world-readable.
On my configuration (Ubuntu 10.04.3
and PostgreSQL 8.4
), I could finally get it to work when the username I am logged in is the same as the one I'm trying to get a password from the .pgpass
file for.
Logged in as deployer
, I was trying to use the .pgpass
file to access the database owned by an user name appname
, which has no Unix user equivalent. I could not make the .pgpass
work, until I started using deployer
as the user to access my database...
Here is my /home/deployer/.pgpass
file content:
*:*:*:deployer:password
Here a part of the /etc/postgresql/8.4/main/pg_hba.conf
one:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
As you can see, all my connections requires password (md5
).
With this configuration, assuming I have a database I created with this command:
deployer@ubuntu-server:~$ createdb -T template0 -O deployer -E UTF8 dbname
I'm able to perform the following operation without entering a password:
deployer@ubuntu-server:~$ dropdb dbname
As soon as I change the name of my .pgpass
to .pgpass-no
, it will require a password.
BTW, do not forget that your .pgpass
file must be under 0600
permissions:
deployer@ubuntu-server:~$ ls -la .pgpass
-rw------- 1 deployer staff 24 2012-01-06 17:29 .pgpass