postgresql/src/backend
Robert Haas 314cbfc5da Add new replication mode synchronous_commit = 'remote_apply'.
In this mode, the master waits for the transaction to be applied on
the remote side, not just written to disk.  That means that you can
count on a transaction started on the standby to see all commits
previously acknowledged by the master.

To make this work, the standby sends a reply after replaying each
commit record generated with synchronous_commit >= 'remote_apply'.
This introduces a small inefficiency: the extra replies will be sent
even by standbys that aren't the current synchronous standby.  But
previously-existing synchronous_commit levels make no attempt at all
to optimize which replies are sent based on what the primary cares
about, so this is no worse, and at least avoids any extra replies for
people not using the feature at all.

Thomas Munro, reviewed by Michael Paquier and by me.  Some additional
tweaks by me.
2016-03-29 21:29:49 -04:00
..
access Add new replication mode synchronous_commit = 'remote_apply'. 2016-03-29 21:29:49 -04:00
bootstrap Provide much better wait information in pg_stat_activity. 2016-03-10 12:44:09 -05:00
catalog Allow aggregate transition states to be serialized and deserialized. 2016-03-29 15:04:05 -04:00
commands Allow aggregate transition states to be serialized and deserialized. 2016-03-29 15:04:05 -04:00
executor Fix bug in aggregate (de)serialization commit. 2016-03-29 15:21:57 -04:00
foreign Don't require a user mapping for FDWs to work. 2016-03-28 21:50:28 -04:00
lib Add two HyperLogLog functions 2016-01-19 17:40:15 -03:00
libpq Avoid possibly-unsafe use of Windows' FormatMessage() function. 2016-03-29 11:55:19 -04:00
main Avoid crash on old Windows with AVX2-capable CPU for VS2013 builds 2016-03-10 14:10:18 +01:00
nodes Allow aggregate transition states to be serialized and deserialized. 2016-03-29 15:04:05 -04:00
optimizer Allow aggregate transition states to be serialized and deserialized. 2016-03-29 15:04:05 -04:00
parser Allow aggregate transition states to be serialized and deserialized. 2016-03-29 15:04:05 -04:00
po Translation updates 2015-06-28 23:56:55 -04:00
port Avoid possibly-unsafe use of Windows' FormatMessage() function. 2016-03-29 11:55:19 -04:00
postmaster Merge wal_level "archive" and "hot_standby" into new name "replica" 2016-03-18 23:56:03 +01:00
regex Suppress compiler warnings about useless comparison of unsigned to zero. 2016-02-15 17:12:16 -05:00
replication Add new replication mode synchronous_commit = 'remote_apply'. 2016-03-29 21:29:49 -04:00
rewrite Improve error message for rejecting RETURNING clauses with dropped columns. 2016-02-29 19:11:38 -05:00
snowball Update copyright for 2016 2016-01-02 13:33:40 -05:00
storage Fix typo in comment. 2016-03-28 20:55:15 -04:00
tcop Support CREATE ACCESS METHOD 2016-03-23 23:01:35 -03:00
tsearch Fix support of digits in email/hostnames. 2016-03-29 18:28:49 +03:00
utils Add new replication mode synchronous_commit = 'remote_apply'. 2016-03-29 21:29:49 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Combine win32 and unix latch implementations. 2016-03-21 11:03:26 +01:00
common.mk Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
nls.mk Remove trailing slashes from directories in find command 2015-09-18 22:06:54 -04:00