Re: pgsql: Efficient transaction-controlled synchronous replication.
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, pgsql-committers@postgresql.org
Date: 2011-03-10T20:44:33Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Efficient transaction-controlled synchronous replication.
- a8a8a3e09652 9.1.0 cited
On Mon, Mar 7, 2011 at 3:27 AM, Fujii Masao <masao.fujii@gmail.com> wrote: > On Mon, Mar 7, 2011 at 7:51 AM, Simon Riggs <simon@2ndquadrant.com> wrote: >> Efficient transaction-controlled synchronous replication. >> If a standby is broadcasting reply messages and we have named >> one or more standbys in synchronous_standby_names then allow >> users who set synchronous_replication to wait for commit, which >> then provides strict data integrity guarantees. Design avoids >> sending and receiving transaction state information so minimises >> bookkeeping overheads. We synchronize with the highest priority >> standby that is connected and ready to synchronize. Other standbys >> can be defined to takeover in case of standby failure. >> >> This version has very strict behaviour; more relaxed options >> may be added at a later date. > > Pretty cool! I'd appreciate very much your efforts and contributions. > > And,, I found one bug ;) You seem to have wrongly removed the check > of max_wal_senders in SyncRepWaitForLSN. This can make the > backend wait for replication even if max_wal_senders = 0. I could produce > this problematic situation in my machine. The attached patch fixes this problem. I committed a slightly different fix for this problem. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company