> -----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