pgsql: walreceiver uses a temporary replication slot by default

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-committers@lists.postgresql.org
Date: 2020-01-14T13:57:34Z
Lists: pgsql-hackers
walreceiver uses a temporary replication slot by default

If no permanent replication slot is configured using
primary_slot_name, the walreceiver now creates and uses a temporary
replication slot.  A new setting wal_receiver_create_temp_slot can be
used to disable this behavior, for example, if the remote instance is
out of replication slots.

Reviewed-by: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Discussion: https://www.postgresql.org/message-id/CA%2Bfd4k4dM0iEPLxyVyme2RAFsn8SUgrNtBJOu81YqTY4V%2BnqZA%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/329730827848f61eb8d353d5addcbd885fa823da

Modified Files
--------------
doc/src/sgml/config.sgml                           | 20 +++++++++++
.../libpqwalreceiver/libpqwalreceiver.c            |  4 +++
src/backend/replication/walreceiver.c              | 41 ++++++++++++++++++++++
src/backend/utils/misc/guc.c                       |  9 +++++
src/backend/utils/misc/postgresql.conf.sample      |  1 +
src/include/replication/walreceiver.h              |  7 ++++
6 files changed, 82 insertions(+)

Commits

  1. Set wal_receiver_create_temp_slot PGC_POSTMASTER

  2. walreceiver uses a temporary replication slot by default