Re: [HACKERS] pg_basebackup behavior on non-existent slot

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: [HACKERS] pg_basebackup behavior on non-existent slot
Дата
Msg-id CABUevExmKnXLz_WNr3XLKYricUqCjioKusw2W+E7Akz_7F6kcQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] pg_basebackup behavior on non-existent slot  (Jeff Janes <jeff.janes@gmail.com>)
Список pgsql-hackers
On Tue, Sep 12, 2017 at 7:35 PM, Jeff Janes <jeff.janes@gmail.com> wrote:
On Wed, Sep 6, 2017 at 2:50 AM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
Magnus Hagander wrote:
> On Mon, Sep 4, 2017 at 3:21 PM, Jeff Janes <jeff.janes@gmail.com> wrote:

> > Should the parent process of pg_basebackup be made to respond to SIGCHLD?
> > Or call waitpid(bgchild, &status, WNOHANG) in some strategic loop?
>
> I think it's ok to just call waitpid() -- we don't need to react super
> quickly, but we should react.

Hmm, not sure about that ... in the normal case (slotname is correct)
you'd be doing thousands of useless waitpid() system calls during the
whole operation, no?  I think it'd be better to have a SIGCHLD handler
that sets a flag (just once), which can be quickly checked without
accessing kernel space.

If we don't want polling by waitpid, then my next thought would be to move the data copy into another process, then have the main process do nothing but wait for the first child to exit.  If the first to exit is the WAL receiver, then we must have an error and the data receiver can be killed.  I don't know how to translate that to Windows, however.


Well, we could do something similar -- run the main process and the streamer in separate threads on windows and have a main thread wait on both. The main thread would have to be in charge of cleanup as well of course. But I think that's likely going to be more complicated than using non blocking libpq APIs. 


--

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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: [HACKERS] [PATCH] Call RelationDropStorage() for broader rangeof object drops.
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: [HACKERS] postgres_fdw super user checks