I’ve a server with postgresql installed on the postgres user. When I do:
su - postgres
[entering the password]
psql
I can then execute queries on the database, that works fine.
However, from my php script (running on my own account):
$dbconnection = pg_connect("host=localhost port=5432 user=postgres password=XXXXXXX ");
(password crossed out of course)
I then get the message:
PHP Warning: pg_connect(): Unable to connect to PostgreSQL server:
FATAL: password authentication failed for user "postgres" FATAL:
password authentication failed for user "postgres" in
/home/username/script.php on line 18
I tried a lot of variations on the login string, but I keep getting the same message. Any ideas how I could try to solve this?
What is the current configuration for pg_hba.conf? And did you set a password for the database rol “postgres” ? su – postgres is for the Linux user “postgres”, not for the database role “postgres”. If you can start psql without entering the password, it looks like pg_hba.conf uses “trust” and not “password” of even better “md5”. Or did you create a .pgpass file?