Re: Synchronous Replication: Where is data visible first?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday, January 10, 2024, P C <puravc@xxxxxxxxx> 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.


[Index of Archives]     [Postgresql Home]     [Postgresql General]     [Postgresql Performance]     [Postgresql PHP]     [Postgresql Jobs]     [PHP Users]     [PHP Databases]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Forum]

  Powered by Linux