pgsql: Introduce replication slots. - Mailing list pgsql-committers

From Robert Haas
Subject pgsql: Introduce replication slots.
Date
Msg-id E1W9RbT-0003e1-89@gemulon.postgresql.org
Whole thread Raw
Responses Re: pgsql: Introduce replication slots.  (Fujii Masao <masao.fujii@gmail.com>)
Re: pgsql: Introduce replication slots.  (Thom Brown <thom@linux.com>)
Re: pgsql: Introduce replication slots.  (Andres Freund <andres@2ndquadrant.com>)
Re: pgsql: Introduce replication slots.  (Thom Brown <thom@linux.com>)
List pgsql-committers
Introduce replication slots.

Replication slots are a crash-safe data structure which can be created
on either a master or a standby to prevent premature removal of
write-ahead log segments needed by a standby, as well as (with
hot_standby_feedback=on) pruning of tuples whose removal would cause
replication conflicts.  Slots have some advantages over existing
techniques, as explained in the documentation.

In a few places, we refer to the type of replication slots introduced
by this patch as "physical" slots, because forthcoming patches for
logical decoding will also have slots, but with somewhat different
properties.

Andres Freund and Robert Haas

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/858ec11858a914d4c380971985709b6d6b7dd6fc

Modified Files
--------------
doc/src/sgml/catalogs.sgml                         |   99 ++
doc/src/sgml/config.sgml                           |   19 +
doc/src/sgml/func.sgml                             |   70 ++
doc/src/sgml/high-availability.sgml                |   94 +-
doc/src/sgml/protocol.sgml                         |   64 +-
doc/src/sgml/recovery-config.sgml                  |   16 +
doc/src/sgml/ref/pg_receivexlog.sgml               |   18 +
src/backend/access/transam/xlog.c                  |   95 +-
src/backend/catalog/system_views.sql               |   12 +
src/backend/replication/Makefile                   |    2 +-
src/backend/replication/README                     |    5 +-
src/backend/replication/basebackup.c               |    4 +
.../libpqwalreceiver/libpqwalreceiver.c            |   16 +-
src/backend/replication/repl_gram.y                |   54 +-
src/backend/replication/repl_scanner.l             |   57 +-
src/backend/replication/slot.c                     | 1066 ++++++++++++++++++++
src/backend/replication/slotfuncs.c                |  193 ++++
src/backend/replication/walreceiver.c              |    5 +-
src/backend/replication/walreceiverfuncs.c         |   13 +-
src/backend/replication/walsender.c                |  197 +++-
src/backend/storage/ipc/ipci.c                     |    3 +
src/backend/storage/ipc/procarray.c                |   42 +
src/backend/storage/lmgr/lwlock.c                  |    4 +
src/backend/storage/lmgr/proc.c                    |    5 +
src/backend/utils/misc/guc.c                       |   12 +
src/backend/utils/misc/postgresql.conf.sample      |    3 +
src/bin/initdb/initdb.c                            |    1 +
src/bin/pg_basebackup/pg_receivexlog.c             |    5 +
src/bin/pg_basebackup/receivelog.c                 |   49 +-
src/bin/pg_basebackup/streamutil.c                 |    1 +
src/bin/pg_basebackup/streamutil.h                 |    1 +
src/include/access/xlog.h                          |    1 +
src/include/catalog/catversion.h                   |    2 +-
src/include/catalog/pg_proc.h                      |    8 +
src/include/nodes/nodes.h                          |    2 +
src/include/nodes/replnodes.h                      |   32 +
src/include/replication/slot.h                     |  120 +++
src/include/replication/walreceiver.h              |   11 +-
src/include/storage/lwlock.h                       |    4 +-
src/include/storage/procarray.h                    |    2 +
src/test/regress/expected/rules.out                |    9 +
src/tools/pgindent/typedefs.list                   |    2 +
42 files changed, 2356 insertions(+), 62 deletions(-)


pgsql-committers by date:

Previous
From: Bruce Momjian
Date:
Subject: pgsql: docs: mention 'g' is not in the regex embedded options table
Next
From: Fujii Masao
Date:
Subject: Re: pgsql: Introduce replication slots.