On Fri, Nov 12, 2010 at 03:49, Bruce Momjian <br...@momjian.us> wrote: > Magnus Hagander wrote: >> On Fri, Sep 17, 2010 at 05:51, Ashesh Vashi >> <ashesh.va...@enterprisedb.com> wrote: >> > Hi Mark, >> > >> > On of my college (Sujeet) has found a way to reproduce the same behaviour. >> > 1. Installed PG 9.0 on Win XP SP3 >> > 2. Stop the Postgresql-9.0 service from service manager console >> > 3. Create pgpass.conf in postgres (service account) user's profile with an >> > incorrect password deliberately. >> > (Refer: http://www.postgresql.org/docs/8.4/interactive/libpq-pgpass.html) >> > 4. Now start the postgresql-9.0 service, it will return an error and the >> > status >> > ?? shows stopped >> > 5. However i could connect to the psql shell and get the prompt which means >> > ??? the server is running. >> >> I took a quick look at the code, and from what I can tell this is >> because PQconnectionNeedsPassword() always returns false if a >> pgpass.conf has been used. There is no handling the case where pgpass >> is used, but has an incorrect password. >> >> Does anybody recall the specific reason for this? Do we need a way for >> pg_ctl to figure this out, or do we need to change it in >> PQconnecitonNeedsPassword()? > > I was not able to reproduce this failure on my BSD system using GIT > head: > > $ psql test > psql: FATAL: password authentication failed for user "postgres" > password retrieved from file "/u/postgres/.pgpass" > > $ pg_ctl status > pg_ctl: server is running (PID: 710) > /usr/var/local/pgsql/bin/postgres "-i"
The problem is not in pg_ctl status, it's in pg_ctl start. They're different codepaths - status never tries to actually connect, it just checks if the process is alive. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers