Re: pgsql: Add new replication mode synchronous_commit = 'remote_apply'.

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: pgsql: Add new replication mode synchronous_commit = 'remote_apply'.
Дата
Msg-id CA+Tgmob3axFV02bjYG+GAG6Vtj7yhOVtAXBWmo+8vOwnCE-qXA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pgsql: Add new replication mode synchronous_commit = 'remote_apply'.  (Michael Paquier <michael.paquier@gmail.com>)
Ответы Re: pgsql: Add new replication mode synchronous_commit = 'remote_apply'.  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-committers
On Tue, Mar 29, 2016 at 9:37 PM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Wed, Mar 30, 2016 at 10:31 AM, Robert Haas <rhaas@postgresql.org> wrote:
>> Add new replication mode synchronous_commit = 'remote_apply'.
>>
>> In this mode, the master waits for the transaction to be applied on
>> the remote side, not just written to disk.  That means that you can
>> count on a transaction started on the standby to see all commits
>> previously acknowledged by the master.
>>
>> To make this work, the standby sends a reply after replaying each
>> commit record generated with synchronous_commit >= 'remote_apply'.
>> This introduces a small inefficiency: the extra replies will be sent
>> even by standbys that aren't the current synchronous standby.  But
>> previously-existing synchronous_commit levels make no attempt at all
>> to optimize which replies are sent based on what the primary cares
>> about, so this is no worse, and at least avoids any extra replies for
>> people not using the feature at all.
>>
>> Thomas Munro, reviewed by Michael Paquier and by me.  Some additional
>> tweaks by me.
>
> The commit message does not directly mention that the spec of
> walrcv_receive has been changed in a backward-incompatible way so as
> the wait control can be done with a latch directly in walreceiver.c
> and not in libpqwalreceiver.c. That's not worth a mention in the
> release notes as this is really low-level and compilation on any code
> using this hook would simply fail on 9.6, so I am just mentioning it
> for the sake of the archives.

Yeah, I didn't really think that mattered much.  I'm not really sure
what you even mean by backward-incompatible -- AFAIK, that's a private
interface which we can whack around whenever we like.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Remove TZ environment-variable entry from postgres reference pag
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Remove TZ environment-variable entry from postgres reference pag