On 2016-02-19 15:09:58 -0500, Tom Lane wrote: > Peter Eisentraut <pete...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers