Skip to content
← Catalog atlas / pg_replication_slots

SYSTEM VIEW · System view

pg_replication_slots

The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state. For more on replication slots, see Section 26.2.6 and Chapter 47.

First seen PG 9.4Last seen PG 19Columns 21

Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗

Columns PostgreSQL 18

pg_replication_slots
COLUMNTYPEDESCRIPTION
slot_name name A unique, cluster-wide identifier for the replication slot
plugin name The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.
slot_type text The slot type: physical or logical
datoid oid The OID of the database this slot is associated with, or null. Only logical slots have an associated database.References:pg_database.oid
database name The name of the database this slot is associated with, or null. Only logical slots have an associated database.References:pg_database.datname
temporary booleanDocumented as:bool True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.
active booleanDocumented as:bool True if this slot is currently being streamed
active_pid integerDocumented as:int4 The process ID of the session streaming data for this slot. NULL if inactive.
xmin xid The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.
catalog_xmin xid The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.
restart_lsn pg_lsn The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.
confirmed_flush_lsn pg_lsn The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data corresponding to the transactions committed before this LSN is not available anymore. NULL for physical slots.
wal_status text Availability of WAL files claimed by this slot. Possible values are:
safe_wal_size bigintDocumented as:int8 The number of bytes that can be written to WAL such that this slot is not in danger of getting in state "lost". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.
two_phase booleanDocumented as:bool True if the slot is enabled for decoding prepared transactions. Always false for physical slots.
two_phase_at pg_lsn The address (LSN) from which the decoding of prepared transactions is enabled. NULL for logical slots where two_phase is false and for physical slots.
inactive_since timestamp with time zoneDocumented as:timestamptz The time when the slot became inactive. NULL if the slot is currently being streamed. If the slot becomes invalid, this value will never be updated. For standby slots that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. This helps standby slots track when synchronization was interrupted.
conflicting booleanDocumented as:bool True if this logical slot conflicted with recovery (and so is now invalidated). When this column is true, check invalidation_reason column for the conflict reason. Always NULL for physical slots.
invalidation_reason text The reason for the slot's invalidation. It is set for both logical and physical slots. NULL if the slot is not invalidated. Possible values are:
failover booleanDocumented as:bool True if this is a logical slot enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover. Always false for physical slots.
synced booleanDocumented as:bool True if this is a logical slot that was synced from a primary server. On a hot standby, the slots with the synced column marked as true can neither be used for logical decoding nor dropped manually. The value of this column has no meaning on the primary server; the column value on the primary is default false for all slots but may (if leftover from a promoted standby) also be true.

Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.

Column evolution matrix

Hover a cell for the column type
PresentAdded / type or attribute changeRemoved
COLUMN9.09.19.29.39.49.59.610111213141516171819
slot_name
plugin
slot_type
datoid
database
active
xmin
catalog_xmin
restart_lsn
active_pid
confirmed_flush_lsn
temporary
wal_status
safe_wal_size
two_phase
conflicting
inactive_since
invalidation_reason
failover
synced
two_phase_at
slotsync_skip_reason

9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.

Evolution timeline

Changes between adjacent majors

PostgreSQL 19 ← 18

+ slotsync_skip_reason

PostgreSQL 18 ← 17

+ two_phase_at1 column description updates

PostgreSQL 17 ← 16

+ inactive_since+ invalidation_reason+ failover+ synced3 column description updatesCatalog description updated

PostgreSQL 16 ← 15

+ conflicting2 column description updates

PostgreSQL 14 ← 13

+ two_phaseCatalog description updated

PostgreSQL 13 ← 12

+ wal_status+ safe_wal_size2 column description updates

PostgreSQL 12 ← 11

Catalog description updated

PostgreSQL 11 ← 10

1 column description updatesCatalog description updated

PostgreSQL 10 ← 9.6

+ temporaryCatalog description updated

PostgreSQL 9.6 ← 9.5

+ confirmed_flush_lsnCatalog description updated

PostgreSQL 9.5 ← 9.4

+ active_pid

PostgreSQL 9.4 ← 9.3Catalog added

+ slot_name+ plugin+ slot_type+ datoid+ database+ active+ xmin+ catalog_xmin+ restart_lsn

Compare any two versions

Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.