Re: Synchronous Replication: Where is data visible first?

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Synchronous Replication: Where is data visible first?
Дата
Msg-id CAKFQuwYUpW=LVcmjte1tqS9OhoskvFLPwLoxoMtnw8o5tW4UOw@mail.gmail.com
обсуждение исходный текст
Ответ на Synchronous Replication: Where is data visible first?  (P C <puravc@gmail.com>)
Ответы Re: Synchronous Replication: Where is data visible first?  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-admin
On Wednesday, January 10, 2024, P C <puravc@gmail.com> wrote:
Hello,

While discussing with the development team, an interesting question came up: in a synchronous streaming replication scenario, with synchronous_commit = remote_apply, will the change be first visible on Standby (replica)? Primary will wait till the change is applied and committed on standby, and hence logically this looks to be correct. But I couldn't find this mentioned explicitly anywhere and hence seeking comments from the community.

IIUC, no, the standbys can never reflect a newer state than what would be seen on the primary.  The state of a given transaction, including most importantly the locking surrounding it, exists first on the primary and then is replicated to the secondary.  Either the locking will prevent a dirty read or the dirty read will see the unconfirmed but committed data on the primary.  The locking will be removed on the primary strictly before the standbys.

David J.

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

Предыдущее
От: P C
Дата:
Сообщение: Synchronous Replication: Where is data visible first?
Следующее
От: Akheel TechDL
Дата:
Сообщение: Cascading a logical standby for physical replication