Add replication command READ_REPLICATION_SLOT
authorMichael Paquier <michael@paquier.xyz>
Sun, 24 Oct 2021 22:40:42 +0000 (07:40 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sun, 24 Oct 2021 22:40:42 +0000 (07:40 +0900)
commitb4ada4e19fd7bedb433e46516ccd0ca4213d2719
tree2b75aeb117daecb677e200aa29fd36d801ef94e8
parent70bef494000e4dbbeca0f0a40347ca1747aea701
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
doc/src/sgml/protocol.sgml
src/backend/replication/repl_gram.y
src/backend/replication/repl_scanner.l
src/backend/replication/walsender.c
src/include/nodes/nodes.h
src/include/nodes/replnodes.h
src/test/recovery/t/001_stream_rep.pl
src/test/recovery/t/006_logical_decoding.pl
src/tools/pgindent/typedefs.list