Re: Authentication Question

From: "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
To: "Epps, Aaron M(dot)" <Epps(dot)Aaron(at)mayo(dot)edu>
Cc: "'pgsql-admin(at)postgresql(dot)org'" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Authentication Question
Date: 2003-10-28 23:53:28
Message-ID: Pine.LNX.4.33.0310281652010.20217-100000@css120.ihs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

And you've restarted the server and all, right?

Just for troubleshooting edit the 127.0.0.1 line for trust and restart and
see if the problem goes away. I wonder if php changed behaviour on unix
sockets versus TCP/IP somewhere along the way. We only use explicit host
namd / TCP/IP nowadays where I work...

On Tue, 28 Oct 2003, Epps, Aaron M. wrote:

> Here's the PHP code that's being used to create the connection string. It looks like it isn't inserting anything if the host name isn't specified...
>
> // Build the connection string
> $conn_str = "user=".$this->user;
> $conn_str .= !empty($this->pass) ? " password='".$this->pass."'" : "";
> $conn_str .= !empty($this->host) ? " host=".$this->host : "";
> $conn_str .= !empty($this->port) ? " port=".$this->port : "";
> $conn_str .= " dbname=".$this->name;
>
> $this->link = pg_connect($conn_str)
> or $this->logger("Database connection failed!","DBI");
> break;
> default:
> $this->logger("Unknown database type in init()","DBI");
> break;
>
> -----Original Message-----
> From: scott.marlowe [mailto:scott(dot)marlowe(at)ihs(dot)com]
> Sent: Tuesday, October 28, 2003 2:58 PM
> To: Epps, Aaron M.
> Cc: 'pgsql-admin(at)postgresql(dot)org'
> Subject: Re: [ADMIN] Authentication Question
>
> I bet your connect class is distilling your $db array down into a connect string that looks like:
>
> pg_connect("host= dbname=db user=username");
>
> And the presence of a host= in there is goofing things up. Can you edit the class to make sure it isn't inserting a host= part before connecting?
>
> On Tue, 28 Oct 2003, Epps, Aaron M. wrote:
>
> > There is no hostname specified in the PHP code when it connects to
> > PostgreSQL, so it's using a socket connections then correct? Also, I
> > did SIGHUP the PostgreSQL server after the configuration changes.
> > Here's what the PHP config file looks 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(dot)marlowe(at)ihs(dot)com]
> > Sent: Tuesday, October 28, 2003 2:37 PM
> > To: Tom Lane
> > Cc: Epps, Aaron M.; 'pgsql-admin(at)postgresql(dot)org'
> > Subject: Re: [ADMIN] Authentication Question
> >
> > On Tue, 28 Oct 2003, Tom Lane wrote:
> >
> > > "Epps, Aaron M." <Epps(dot)Aaron(at)mayo(dot)edu> writes:
> > > > I've got an authentication questions. I've just setup pg_hba.conf to use "local all all trust" for testing purposes, but when the application I'm using tries to connect to the PostgreSQL Db (Using PHP) I get the following error.
> > >
> > > > " 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=)
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 1: subscribe and unsubscribe commands go to
> > majordomo(at)postgresql(dot)org
> >
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Stef 2003-10-29 10:57:52 Table versions
Previous Message Justin Cragin 2003-10-28 23:26:05 Duplicating log lines from postmaster