> -----Original Message-----
> From: Andrew Dunstan [mailto:and...@dunslane.net]
> Sent: Tuesday, April 28, 2009 2:27 PM
> To: Dann Corbit
> Cc: pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] Building Postgresql under Windows question
> 
> 
> 
> Dann Corbit wrote:
> > In this function:
> > static bool
> > test_postmaster_connection(bool do_checkpoint)
> >
> > This code will never succeed:
> >     snprintf(connstr, sizeof(connstr),
> >                      "dbname=postgres port=%s connect_timeout=5",
> > portstr);
> >
> >     for (i = 0; i < wait_seconds; i++)
> >     {
> >             if ((conn = PQconnectdb(connstr)) != NULL &&
> >                     (PQstatus(conn) == CONNECTION_OK ||
> >                      PQconnectionNeedsPassword(conn)))
> >             {
> >                     PQfinish(conn);
> >                     success = true;
> >                     break;
> >             }
> >
> >
> > Because pg_hba.conf has this:
> > # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
> >
> > # IPv4 local connections:
> > host    all         all         127.0.0.1/32          trust
> > # IPv6 local connections:
> > host    all         all         ::1/128               trust
> >
> > to allow connections from the local machine.
> >
> > (A password is not needed to connect, so the code always fails).
> >
> >
> 
> 
> Why won't
> 
>       PQstatus(conn) == CONNECTION_OK
> 
> be true and thus the code will succeed without requiring a password?

It returns the value CONNECTION_STARTED

I have found a work-around for now.

If I set the method to password in pg_hba.conf, the service starts and
runs correctly.

It is only when the method is set to trust that we get 100% failures.


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to