postgresql/src/backend
Simon Riggs a8a8a3e096 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.
2011-03-06 22:49:16 +00:00
..
access Efficient transaction-controlled synchronous replication. 2011-03-06 22:49:16 +00:00
bootstrap Per-column collation support 2011-02-08 23:04:18 +02:00
catalog Efficient transaction-controlled synchronous replication. 2011-03-06 22:49:16 +00:00
commands Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
executor Rearrange snapshot handling to make rule expansion more consistent. 2011-02-28 23:28:06 -05:00
foreign Implement an API to let foreign-data wrappers actually be functional. 2011-02-20 00:18:14 -05:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
main Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
nodes Allow non-superusers to create (some) extensions. 2011-03-04 16:08:53 -05:00
optimizer Support data-modifying commands (INSERT/UPDATE/DELETE) in WITH. 2011-02-25 18:58:02 -05:00
parser Allow non-superusers to create (some) extensions. 2011-03-04 16:08:53 -05:00
po Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
port Be less detailed about reporting shared memory failure by avoiding the 2011-02-27 12:21:58 -05:00
postmaster Efficient transaction-controlled synchronous replication. 2011-03-06 22:49:16 +00:00
regex Fix comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00
replication Efficient transaction-controlled synchronous replication. 2011-03-06 22:49:16 +00:00
rewrite Support data-modifying commands (INSERT/UPDATE/DELETE) in WITH. 2011-02-25 18:58:02 -05:00
snowball Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage Efficient transaction-controlled synchronous replication. 2011-03-06 22:49:16 +00:00
tcop Run a portal's cleanup hook immediately when pushing it to DONE state. 2011-03-03 13:04:06 -05:00
tsearch Fix tsmatchsel() to account properly for null rows. 2011-02-17 19:00:49 -05:00
utils Efficient transaction-controlled synchronous replication. 2011-03-06 22:49:16 +00:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
common.mk Workaround for recursive make breakage 2011-01-13 09:32:06 +02:00
Makefile Make handling of errcodes.h more consistent with other generated headers. 2011-02-04 09:29:10 -05:00
nls.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00