Re: Re: [BUGS] BUG #5650: Postgres service showing as stopped when in fact it is running

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Mark Llewellyn <mark_llewellyn(at)adp(dot)com>, pgsql-hackers(at)postgresql(dot)org, Sujeet Rajguru <sujeet(dot)rajguru(at)enterprisedb(dot)com>
Subject: Re: Re: [BUGS] BUG #5650: Postgres service showing as stopped when in fact it is running
Date: 2010-11-12 06:20:58
Message-ID: AANLkTin=88vWWVyZhBpuLJ1VpvGFV9xJewBXVnPOq4LM@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Fri, Nov 12, 2010 at 03:49, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> Magnus Hagander wrote:
>> On Fri, Sep 17, 2010 at 05:51, Ashesh Vashi
>> <ashesh(dot)vashi(at)enterprisedb(dot)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/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Chetan 2010-11-12 13:06:15 BUG #5750: dropping objects owned by user fails
Previous Message Bruce Momjian 2010-11-12 02:49:44 Re: Re: [BUGS] BUG #5650: Postgres service showing as stopped when in fact it is running

Browse pgsql-hackers by date

  From Date Subject
Next Message Gabriele Bartolini 2010-11-12 07:45:07 Re: locales and encodings Oh MY!
Previous Message Robert Haas 2010-11-12 05:53:09 Re: MULTISET and additional functions for ARRAY