Re: [COMMITTERS] pgsql: Add --synchronous option to pg_receivexlog, for more reliable WA - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: [COMMITTERS] pgsql: Add --synchronous option to pg_receivexlog, for more reliable WA
Date
Msg-id CAHGQGwG2RBc8t=VGPSpZLDg67SPqZw5PwcP1jhPXXnHS8msVjw@mail.gmail.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Add --synchronous option to pg_receivexlog, for more reliable WA  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: Re: [COMMITTERS] pgsql: Add --synchronous option to pg_receivexlog, for more reliable WA  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
On Wed, Sep 16, 2015 at 11:25 AM, Peter Eisentraut <peter_e@gmx.net> wrote:
> On 11/17/14 12:34 PM, Fujii Masao wrote:
>> Add --synchronous option to pg_receivexlog, for more reliable WAL writing.
>
> The last two sentences of this piece of documentation are a bit
> hand-wavy and hard to parse.  Could you clarify this?

I think that what those sentences try to point is; to make pg_receivexlog run
as synchronous standby expectedly, both --slot and --synchronous options need
to be specified.

If --slot option is specified, pg_receivexlog reports a flush position to
the server even though --synchronous is not specified. So users might think
that --synchrnous option is not necessary for synchronous pg_receivexlog
setting. But that's not true. If --synchronous option is not specified, the
received WAL data is flushed to the disk only when WAL segment is switched.
So the transactions on the master need to wait for a long time, i.e.,
we can think that synchronous pg_receivexlog doesn't work smoothly.
To avoid such situation, --synchronous option also needs to be specified and
which makes pg_receivexlog flush WAL data immediately after receiving it.

Regards,

-- 
Fujii Masao



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Additional LWLOCK_STATS statistics
Next
From: Petr Jelinek
Date:
Subject: Re: [DOCS] max_worker_processes on the standby