Re: pg_ctl restart - behaviour based on wrong instance - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: pg_ctl restart - behaviour based on wrong instance
Date
Msg-id CABUevEwunHnVPon3G0UH4o+52wJXrnMezeBgxACJbKWwF7WgFQ@mail.gmail.com
Whole thread Raw
In response to Re: pg_ctl restart - behaviour based on wrong instance  (Bruce Momjian <bruce@momjian.us>)
Responses Re: pg_ctl restart - behaviour based on wrong instance
List pgsql-hackers
On Tue, Oct 11, 2011 at 23:35, Bruce Momjian <bruce@momjian.us> wrote:
> Robert Haas wrote:
>> On Wed, Mar 23, 2011 at 1:48 AM, Fujii Masao <masao.fujii@gmail.com> wrote:
>> > On Sat, Mar 19, 2011 at 10:20 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>> >> On Fri, Mar 18, 2011 at 1:19 PM, Erik Rijkers <er@xs4all.nl> wrote:
>> >>> This is OK and expected. ?But then it continues (in the logfile) with:
>> >>>
>> >>> FATAL: ?lock file "postmaster.pid" already exists
>> >>> HINT: ?Is another postmaster (PID 20519) running in data directory
>> >>> "/var/data1/pg_stuff/pg_installations/pgsql.vanilla_1/data"?
>> >>>
>> >>> So, complaints about the *other* instance. ?It doesn't happen once a successful start (with pg_ctl
>> >>> start) has happened.
>> >>
>> >> I'm guessing that leftover postmaster.pid contents might be
>> >> responsible for this?
>> >
>> > The cause is that "pg_ctl restart" uses the postmaster.opts which was
>> > created in the primary. Since its content was something like
>> > "pg_ctl -D vanilla_1/data", vanilla_1/data/postmaster.pid was checked
>> > wrongly.
>> >
>> > The simple workaround is to exclude postmaster.opts from the backup
>> > as well as postmaster.pid. But when postmaster.opts doesn't exist,
>> > "pg_ctl restart" cannot start up the server. We might also need to change
>> > the code of "pg_ctl restart" so that it does just "pg_ctl start" when
>> > postmaster.opts doesn't exist.
>>
>> Sounds reasonable.
>
> I looked over this issue and I don't thinking having pg_ctl restart fall
> back to 'start' is a good solution.  I am concerned about cases where we
> start a different server without shutting down the old server, for some
> reason.  When they say 'restart', I think we have to assume they want a
> restart.
>
> What I did do was to document that not backing up postmaster.pid and
> postmaster.opts might help prevent pg_ctl from getting confused.

Should we exclude postmaster.opts from streaming base backups? We
already exclude postmaster.pid...


--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: index-only scans
Next
From: Tom Lane
Date:
Subject: Re: [BUGS] *.sql contrib files contain unresolvable MODULE_PATHNAME