Re: pg_ctl promote wait - Mailing list pgsql-hackers

From Andres Freund
Subject Re: pg_ctl promote wait
Date
Msg-id 20160219202437.tf7bcheicvitvqsd@alap3.anarazel.de
Whole thread Raw
In response to Re: pg_ctl promote wait  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pg_ctl promote wait
List pgsql-hackers
On 2016-02-19 15:09:58 -0500, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
> > On 2/19/16 10:06 AM, Fujii Masao wrote:
> >> One concern is that there can be a "time" after the pg_control's state
> >> is changed to DB_IN_PRODUCTION and before the server is able to
> >> start accepting normal (not read-only) connections. So if users try to
> >> start write transaction just after pg_ctl promote -w ends, they might
> >> get an error because the server is still in recovery, i.e., the startup
> >> process is running.
> 
> > I think that window would be acceptable.
> 
> > If not, then the way to deal with it would seem to be to create an
> > entirely new mechanism to communicate with pg_ctl (e.g., a file) and
> > call that at the very end of StartupXLOG().  I'm not sure that that is
> > worth it.
> 
> I see no need for an additional mechanism.  Just watch pg_control until
> you see DB_IN_PRODUCTION state there, then switch over to the same
> connection probing that "pg_ctl start -w" uses.

That's afaics not sufficient if the standby was using hot standby, as
that'll let -w succeed immediately, no?

Andres



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: checkpointer continuous flushing - V18
Next
From: Tom Lane
Date:
Subject: Re: pg_ctl promote wait