Thread: Synchronous replication question
All;
The docs specify this (9.4 docs):
Synchronous replication offers the ability to confirm that all changes made by a transaction have been transferred to one synchronous standby server. This extends the standard level of durability offered by a transaction commit. This level of protection is referred to as 2-safe replication in computer science theory.
Does this mean that Synchronous replication only works with one standby?
Thanks in advance
The docs specify this (9.4 docs):
Synchronous replication offers the ability to confirm that all changes made by a transaction have been transferred to one synchronous standby server. This extends the standard level of durability offered by a transaction commit. This level of protection is referred to as 2-safe replication in computer science theory.
Does this mean that Synchronous replication only works with one standby?
Thanks in advance
On Tue, Jul 7, 2015 at 1:45 PM, CS DBA <cs_dba@consistentstate.com> wrote:
All;
The docs specify this (9.4 docs):
Synchronous replication offers the ability to confirm that all changes made by a transaction have been transferred to one synchronous standby server. This extends the standard level of durability offered by a transaction commit. This level of protection is referred to as 2-safe replication in computer science theory.
Does this mean that Synchronous replication only works with one standby?
Thanks in advance
No, it means that it requires, at minimum, one standby to confirm that the transaction has been committed there before the master confirms it back to the client. Look at this section of the docs
http://www.postgresql.org/docs/9.4/static/warm-standby.html#SYNCHRONOUS-REPLICATION
http://www.postgresql.org/docs/9.4/static/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES
http://www.postgresql.org/docs/9.4/static/warm-standby.html#SYNCHRONOUS-REPLICATION
http://www.postgresql.org/docs/9.4/static/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES
As per http://www.postgresql.org/docs/9.4/static/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES at any time the primary waits for ACK from just one standby server in the list. (The first one, and if its not available, the second one and so on). So even if something goes amiss with the synchronous slave, the secondary slave will become synchronous provided its listed in synchronous_standby_names.
On Tue, Jul 7, 2015 at 1:45 PM, CS DBA <cs_dba@consistentstate.com> wrote:
All;
The docs specify this (9.4 docs):
Synchronous replication offers the ability to confirm that all changes made by a transaction have been transferred to one synchronous standby server. This extends the standard level of durability offered by a transaction commit. This level of protection is referred to as 2-safe replication in computer science theory.
Does this mean that Synchronous replication only works with one standby?
Thanks in advance