pg_connect troubles on localhost
using postgresql 8.1 on Ubuntu Breezy
I cannot connect to a database I created - checking \du the username is
listed. I also created a password with #ALTER ROLE yyyy WITH PASSWORD
'zzzz' I tried without password but it calls for a password. Any ideas?
<?php
$vhost = 'localhost';
$vname = 'xxxx';
$vuser = 'yyyy';
$vpassword = 'zzzz';
$db_handle = pg_connect("dbname=$vname user=$vuser password=$vpassword");
pg_close($db_handle);
?>
Warning: pg_connect() [function.pg-connect]: Unable to connect to
PostgreSQL server:
FATAL: Ident authentication failed for user "yyyy" in /var/www/test.php
on line 12
John Taber <jtaber@johntaber.net> writes:
using postgresql 8.1 on Ubuntu Breezy
I cannot connect to a database I created - checking \du the username is
listed. I also created a password with #ALTER ROLE yyyy WITH PASSWORD
'zzzz' I tried without password but it calls for a password. Any ideas?<?php
$vhost = 'localhost';
$vname = 'xxxx';
$vuser = 'yyyy';
$vpassword = 'zzzz';
$db_handle = pg_connect("dbname=$vname user=$vuser password=$vpassword");
pg_close($db_handle);
?>Warning: pg_connect() [function.pg-connect]: Unable to connect to
PostgreSQL server:
FATAL: Ident authentication failed for user "yyyy" in /var/www/test.php
on line 12
See to it that there's an entry in pg_ident.conf to map the webserver
process owner to your vuser DB username.
The error message is telling you that your pg_hba.conf file has an
entry for the database that uses the ident map file.
See comments in both files and the Postgres docs as well for more
info.
HTH
--
-------------------------------------------------------------------------------
Jerry Sievers 305 854-3001 (home) WWW ECommerce Consultant
305 321-1144 (mobile http://www.JerrySievers.com/
Import Notes
Reply to msg id not found: JohnTaber'smessageofThu24Nov2005183218-0700
thks for info - but my pg_ident is empty (correctly I believe since
users are equal to pg_users) so I have:
pg_ident.conf
# MAPNAME IDENT-USERNAME PG-USERNAME
pg_hba.conf
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
I don't want to start manually editing these files before figuring out
what is going wrong or if something, somehow got corrupted, then how to
clean up and recreate. I am just starting out, so I can delete and
start over if I need to. Any ideas ?
Jerry Sievers wrote:
Show quoted text
John Taber <jtaber@johntaber.net> writes:
using postgresql 8.1 on Ubuntu Breezy
I cannot connect to a database I created - checking \du the username is
listed. I also created a password with #ALTER ROLE yyyy WITH PASSWORD
'zzzz' I tried without password but it calls for a password. Any ideas?<?php
$vhost = 'localhost';
$vname = 'xxxx';
$vuser = 'yyyy';
$vpassword = 'zzzz';
$db_handle = pg_connect("dbname=$vname user=$vuser password=$vpassword");
pg_close($db_handle);
?>Warning: pg_connect() [function.pg-connect]: Unable to connect to
PostgreSQL server:
FATAL: Ident authentication failed for user "yyyy" in /var/www/test.php
on line 12See to it that there's an entry in pg_ident.conf to map the webserver
process owner to your vuser DB username.The error message is telling you that your pg_hba.conf file has an
entry for the database that uses the ident map file.See comments in both files and the Postgres docs as well for more
info.HTH
John Taber <jtaber@johntaber.net> writes:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
"ident sameuser" means you can only connect as the PG user with the same
name as the operating system account that's running the program you try
to connect from. (In the case of a PHP program that's probably going to
be the Apache daemon user.) Passwords are not relevant for ident auth.
regards, tom lane
Hmmm, I have no idea what the Apache daemon user is(root?) but not sure
how to check. So what would be the workaround ? Should I setup users
as different from OS user names ?
Tom Lane wrote:
Show quoted text
John Taber <jtaber@johntaber.net> writes:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser"ident sameuser" means you can only connect as the PG user with the same
name as the operating system account that's running the program you try
to connect from. (In the case of a PHP program that's probably going to
be the Apache daemon user.) Passwords are not relevant for ident auth.regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings