postgresql/src/include
Robert Haas e55704d8b2 Add new wal_level, logical, sufficient for logical decoding.
When wal_level=logical, we'll log columns from the old tuple as
configured by the REPLICA IDENTITY facility added in commit
07cacba983.  This makes it possible
a properly-configured logical replication solution to correctly
follow table updates even if they change the chosen key columns,
or, with REPLICA IDENTITY FULL, even if the table has no key at
all.  Note that updates which do not modify the replica identity
column won't log anything extra, making the choice of a good key
(i.e. one that will rarely be changed) important to performance
when wal_level=logical is configured.

Each insert, update, or delete to a catalog table will also log
the CMIN and/or CMAX values of stamped by the current transaction.
This is necessary because logical decoding will require access to
historical snapshots of the catalog in order to decode some data
types, and the CMIN/CMAX values that we may need in order to judge
row visibility may have been overwritten by the time we need them.

Andres Freund, reviewed in various versions by myself, Heikki
Linnakangas, KONDO Mitsumasa, and many others.
2013-12-10 19:01:40 -05:00
..
access Add new wal_level, logical, sufficient for logical decoding. 2013-12-10 19:01:40 -05:00
bootstrap Update copyrights for 2013 2013-01-01 17:15:01 -05:00
catalog Refine our definition of what constitutes a system relation. 2013-11-28 20:57:20 -05:00
commands Fix full-table-vacuum request mechanism for MultiXactIds 2013-11-29 21:47:13 -03:00
common Replace pg_asprintf() with psprintf(). 2013-10-22 19:40:26 -04:00
datatype Update copyrights for 2013 2013-01-01 17:15:01 -05:00
executor Prevent leakage of SPI tuple tables during subtransaction abort. 2013-07-25 16:46:14 -04:00
foreign Improve updatability checking for views and foreign tables. 2013-06-12 17:53:33 -04:00
lib Use improved vsnprintf calling logic in more places. 2013-10-24 21:43:57 -04:00
libpq Add large object functions catering to SQL callers. 2013-10-27 22:56:54 -04:00
mb Renovate display of non-ASCII messages on Windows. 2013-06-26 11:17:33 -04:00
nodes Rename TABLE() to ROWS FROM(). 2013-12-10 09:34:37 -05:00
optimizer Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00
parser Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. 2013-11-21 19:37:20 -05:00
port Get rid of use of asprintf() in favor of a more portable implementation. 2013-10-22 18:42:13 -04:00
portability Allow dynamic allocation of shared memory segments. 2013-10-09 21:05:02 -04:00
postmaster Provide a reliable mechanism for terminating a background worker. 2013-10-18 10:23:11 -04:00
regex Fix old typo in comment. 2013-10-29 15:34:18 -04:00
replication pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
rewrite Allow only some columns of a view to be auto-updateable. 2013-10-18 10:35:36 -04:00
snowball Update copyrights for 2013 2013-01-01 17:15:01 -05:00
storage Fix stale-pointer problem in fast-path locking logic. 2013-11-27 18:10:00 -05:00
tcop pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
tsearch Update copyrights for 2013 2013-01-01 17:15:01 -05:00
utils Add new wal_level, logical, sufficient for logical decoding. 2013-12-10 19:01:40 -05:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h Remove use of obsolescent Autoconf macros 2013-11-30 09:17:08 -05:00
fmgr.h Add infrastructure for storing a VARIADIC ANY function's VARIADIC flag. 2013-01-21 20:26:15 -05:00
funcapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
getaddrinfo.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
getopt_long.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
Makefile Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
miscadmin.h Remove CTimeZone/HasCTZSet, root and branch. 2013-11-01 13:57:31 -04:00
pg_config.h.in Remove use of obsolescent Autoconf macros 2013-11-30 09:17:08 -05:00
pg_config.h.win32 Remove use of obsolescent Autoconf macros 2013-11-30 09:17:08 -05:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Keep heavily-contended fields in XLogCtlInsert on different cache lines. 2013-09-04 23:14:33 +03:00
pg_trace.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pgstat.h Split pgstat file in smaller pieces 2013-02-18 18:12:52 -03:00
pgtar.h Move tar function headers to pgtar.h 2013-01-02 20:34:08 +01:00
pgtime.h Fix some odd behaviors when using a SQL-style simple GMT offset timezone. 2013-11-01 12:13:18 -04:00
port.h Get rid of use of asprintf() in favor of a more portable implementation. 2013-10-22 18:42:13 -04:00
postgres.h Add comment for VARSIZE_ANY_EXHDR macro 2013-09-10 20:18:53 -04:00
postgres_ext.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
postgres_fe.h Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
rusagestub.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
windowapi.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00