> I'd lean towards a pg_ping (Peter E., any comment here?)
> Really we'd need to change the postmaster too, because what we need to
> do is send a query "are you ready to accept connections?" that the
> postmaster will answer without an authentication exchange. AFAIR this
> is *not* immediately evident from the postmaster's current behavior ---
> I think it will challenge you for a password even before the startup
> subprocess is done.
I fixed that today; if the database status is not open-for-business,
the postmaster will tell you so right away instead of making you go
through the authentication protocol first. So a pg_ping could be
written that just sends a connection request packet and sees what
comes back.
However, if we're running in TRUST or IDENT mode, it's possible that
that technique will lead to launching a backend to no purpose. So
maybe we ought to extend the postmaster protocol to have a "query
status" packet type. Thoughts?
regards, tom lane