pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Simon Riggs <simon@2ndQuadrant.com>
To: pgsql-committers@postgresql.org
Subject: pgsql: Efficient transaction-controlled synchronous replication.
Date: Sun, 06 Mar 2011 22:51:56 +0000
Message-ID: <E1PwMns-00047O-UU@gemulon.postgresql.org> (raw)

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.

Simon Riggs and Fujii Masao, with reviews by Yeb Havinga, Jaime
Casanova, Heikki Linnakangas and Robert Haas, plus the assistance
of many other design reviewers.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/a8a8a3e0965201df88bdfdff08f50e5c06c552b7

Modified Files
--------------
doc/src/sgml/config.sgml                      |   86 +++++++++++
doc/src/sgml/high-availability.sgml           |  203 +++++++++++++++++++++++++
doc/src/sgml/monitoring.sgml                  |    7 +-
src/backend/access/transam/twophase.c         |   25 +++
src/backend/access/transam/xact.c             |   11 ++-
src/backend/catalog/system_views.sql          |    4 +-
src/backend/postmaster/autovacuum.c           |    7 +
src/backend/postmaster/postmaster.c           |    3 +
src/backend/replication/Makefile              |    2 +-
src/backend/replication/walreceiver.c         |    9 +-
src/backend/replication/walsender.c           |   65 +++++++-
src/backend/storage/ipc/shmqueue.c            |   21 +++-
src/backend/storage/lmgr/proc.c               |   12 ++
src/backend/utils/misc/guc.c                  |   19 +++
src/backend/utils/misc/postgresql.conf.sample |   11 ++-
src/include/catalog/pg_proc.h                 |    2 +-
src/include/replication/walsender.h           |   22 +++
src/include/storage/lwlock.h                  |    1 +
src/include/storage/proc.h                    |   14 ++
src/include/storage/shmem.h                   |    3 +
src/test/regress/expected/rules.out           |    2 +-
21 files changed, 507 insertions(+), 22 deletions(-)



view thread (85+ messages)  latest in thread

Message-ID: <E1PwMns-00047O-UU@gemulon.postgresql.org>
Permalink:  ../E1PwMns-00047O-UU@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1PwMns-00047O-UU@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: simon@2ndQuadrant.com
  Subject: Re: pgsql: Efficient transaction-controlled synchronous replication.
  In-Reply-To: <E1PwMns-00047O-UU@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox