Re: Synchronous replication
Yeb Havinga <yebhavinga@gmail.com>
From: Yeb Havinga <yebhavinga@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Aidan Van Dyk <aidan@highrise.ca>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-07-22T08:37:12Z
Lists: pgsql-hackers
Fujii Masao wrote: > How should the synchronous replication behave when the number of connected > standby servers is less than quorum? > > 1. Ignore quorum. The current patch adopts this. If the ACKs from all > connected standbys have arrived, transaction commit is successful > even if the number of standbys is less than quorum. If there is no > connected standby, transaction commit always is successful without > regard to quorum. > > 2. Observe quorum. Aidan wants this. Until the number of connected > standbys has become more than or equal to quorum, transaction commit > waits. > > Which is the right behavior of quorum commit? Or we should add new > parameter specifying the behavior of quorum commit? > Initially I also expected the quorum to behave like described by Aidan/option 2. Also, IMHO the name "quorom" is a bit short, like having "maximum" but not saying a max_something. quorum_min_sync_standbys quorum_max_sync_standbys The question remains what are the sync standbys? Does it mean not-async? Intuitively by looking at the enumeration of replication_mode I'd think that the sync standbys are all standby's that operate in a not async mode. That would be clearer with a boolean sync (or not) and for sync standbys the replication_mode specified. regards, Yeb Havinga