There is no hostname specified in the PHP code when it connects to PostgreSQL, so it's using a socket connections
thencorrect? Also, I did SIGHUP the PostgreSQL server after the configuration changes. Here's what the PHP config
filelooks like that's used to connect to PostgreSQL
$db = array(
"type" => "pgsql",
"host" => "",
"port" => "",
"name" => "issue-tracker",
"user" => "webuser",
"pass" => "password"
);
I wonder if it's trying to authenticate because there's a username and password specified in the pg_connect()
function. However, when I remove the username and password I get the following error...
Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: IDENT authentication failed for user
"dbname=issue-tracker". in /var/www/html/issue-tracker/includes/classes/dbi.class.php on line 98 "
Thoughts?
-----Original Message-----
From: scott.marlowe [mailto:scott.marlowe@ihs.com]
Sent: Tuesday, October 28, 2003 2:37 PM
To: Tom Lane
Cc: Epps, Aaron M.; 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] Authentication Question
On Tue, 28 Oct 2003, Tom Lane wrote:
> "Epps, Aaron M." <Epps.Aaron@mayo.edu> writes:
> > I've got an authentication questions. I've just setup pg_hba.conf to use "local all all trust" for
testingpurposes, but when the application I'm using tries to connect to the PostgreSQL Db (Using PHP) I get the
followingerror.
>
> > " Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: IDENT authentication failed for user
"webuser". in /var/www/html/issue-tracker/includes/classes/dbi.class.php on line 98 "
>
> > To me, it looks like PostgreSQL is still trying to authenticate,
> > even
> though it should be trusting all local socket connections.
>
> (1) Did you SIGHUP the postmaster after editing the config file?
> ("pg_ctl reload" is the easy way to do this.) If not, it's still
> using whatever setup you had before.
>
> (2) It's fairly likely that PHP will try to connect via TCP/IP even
> for a local server. If so, the relevant pg_hba.conf line will be the
> one for 127.0.0.1, not the "local" line. "local" is for Unix-socket
> connections.
This is correct if you specify a host name:
pg_connect("host=local dbname=db") <- TCP/IP
pg_connect("dbname=db") <- local unix sockets (i.e. no host=)