Tom Lane wrote:
Andrew Dunstan <[EMAIL PROTECTED]> writes:
Confusion fixed (thanks, Tom). psql (via libpq) tries twice, if not
given a password to begin with (via .pgpass or psql's -W).
Ugly but at least not incomprehensible.
This seems reasonable behavior when prompting for a password from the
user, since that's going to take a lot of time anyway. I'm not sure
whether libpq should try to excavate a password from ~/.pgpass in
advance of being told by the server that one is needed.
An ideal solution might be to read ~/.pgpass during the bit of code that
handles a password challenge from the server, rather than in the "outer
loop". Not having looked at the libpq code recently, I have no idea how
painful that would be to do.
Actually, it looks to me like the cause is some code in psql/startup.c
which keeps trying to make a connection while it gets
PQnoPasswordSupplied. libpq seemed to work just fine, picking up pgpass
before a connection was attempted.
My only real concern is that when you turn on log_connections the traces
are confusing - from the user's perspective there is only one
connection, and there are two mentioned in the log, one of which doesn't
have a correspondingly logged disconnect. Maybe worth a mention in the docs?
cheers
andrew
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq