On 09/24/2010 11:11 AM, Tom Lane wrote:
Andrew Dunstan<and...@dunslane.net>  writes:
On 09/24/2010 10:15 AM, Magnus Hagander wrote:
In that case, we should probably teach pg_ctl about this case, no?
Since it clearly gives an incorrect message to the user now...
pg_ctl decides that the server is running iff it can connect to it. Do
you intend to provide for a different test?
Seems like getting a password challenge from the server is sufficient
evidence that the server is running, whether we are able to meet the
challenge or not.  Perhaps we could just twiddle pg_ctl's "is it up"
test a bit to notice whether the connect failure was of this sort.

pg_ctl does in fact use that sort of logic:

   if ((conn = PQconnectdb(connstr)) != NULL &&
          (PQstatus(conn) == CONNECTION_OK ||
           PQconnectionNeedsPassword(conn)))


But of course, libpq won't set that last condition if there is a bad password in the pgpass file, which seems a rather perverse thing to do.

cheers

andrew

Reply via email to