pgsql: Add replication command READ_REPLICATION_SLOT

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add replication command READ_REPLICATION_SLOT
Date: 2021-10-24 22:42:13
Message-ID: E1memBx-0003Go-1Y@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add replication command READ_REPLICATION_SLOT

The command is supported for physical slots for now, and returns the
type of slot, its restart_lsn and its restart_tli.

This will be useful for an upcoming patch related to pg_receivewal, to
allow the tool to be able to stream from the position of a slot, rather
than the last WAL position flushed by the backend (as reported by
IDENTIFY_SYSTEM) if the archive directory is found as empty, which would
be an advantage in the case of switching to a different archive
locations with the same slot used to avoid holes in WAL segment
archives.

Author: Ronan Dunklau
Reviewed-by: Kyotaro Horiguchi, Michael Paquier, Bharath Rupireddy
Discussion: https://postgr.es/m/18708360.4lzOvYHigE@aivenronan

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b4ada4e19fd7bedb433e46516ccd0ca4213d2719

Modified Files
--------------
doc/src/sgml/protocol.sgml | 48 +++++++++++++
src/backend/replication/repl_gram.y | 16 ++++-
src/backend/replication/repl_scanner.l | 1 +
src/backend/replication/walsender.c | 106 ++++++++++++++++++++++++++++
src/include/nodes/nodes.h | 1 +
src/include/nodes/replnodes.h | 11 +++
src/test/recovery/t/001_stream_rep.pl | 32 ++++++++-
src/test/recovery/t/006_logical_decoding.pl | 11 ++-
src/tools/pgindent/typedefs.list | 1 +
9 files changed, 224 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2021-10-25 06:32:58 pgsql: Clarify the logic in a few places in the new balanced merge code
Previous Message Tom Lane 2021-10-24 16:39:04 pgsql: Fix minor memory leaks in pg_dump.