Re: Building Postgresql under Windows question
От | Andrew Dunstan |
---|---|
Тема | Re: Building Postgresql under Windows question |
Дата | |
Msg-id | 49F77C0F.40500@dunslane.net обсуждение исходный текст |
Ответ на | Re: Building Postgresql under Windows question ("Dann Corbit" <DCorbit@connx.com>) |
Список | pgsql-hackers |
Dann Corbit wrote: >> -----Original Message----- >> From: Andrew Dunstan [mailto:andrew@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. > > > Then that looks like a libpq bug :-( According to the docs: "The status can be one of a number of values. However, only two of these are seen outside of an asynchronous connection procedure: CONNECTION_OK and CONNECTION_BAD." cheers andrew
В списке pgsql-hackers по дате отправления: