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(-)