Re: Problem during Windows service start

Поиск
Список
Период
Сортировка
От Alvaro Herrera from 2ndQuadrant
Тема Re: Problem during Windows service start
Дата
Msg-id 20190905230945.GA31656@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: Problem during Windows service start  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Ответы Re: Problem during Windows service start  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
On 2019-Jul-24, Kyotaro Horiguchi wrote:

> > Please find the proposed patch for review. I will attach it to
> > commitfest as well
> 
> Pacemaker suffers the same thing. We suggest our customers that "start
> server alone to perform recovery then start pacemaker if it is
> expected to take a long time for recovery so that reaches time out".
> 
> I don't think it is good think to let status SERVICE_RUNNING although
> it actually is not (yet). I think the right direction here is that, if
> pg_ctl returns by timeout, pgwin32_ServiceMain kills the starting
> server then report something like "timedout and server was stopped,
> please make sure the server not to take a long time to perform
> recovery.".

I'm not sure that's a great reaction; it makes total recovery time
even longer.  How would the user ensure that recovery takes a shorter
time?  We'd be forcing them to start the service over and over, until
recovery completes.

Can't we have pg_ctl just continue to wait indefinitely?  So we'd set
SERVICE_START_PENDING when wait_for_postmaster is out of patience, then
loop again -- until recovery completes.  Exiting pg_ctl on timeout seems
reasonable for interactive use, but maybe for service use it's not
reasonable.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera from 2ndQuadrant
Дата:
Сообщение: Re: [bug fix] Produce a crash dump before main() on Windows
Следующее
От: Quan Zongliang
Дата:
Сообщение: Re: enhance SPI to support EXECUTE commands