Summary
The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.
(Description quoted from the official PostgreSQL documentation.)
Columns
The pg_stat_replication_slots statistics view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):
slot_nametext
A unique, cluster-wide identifier for the replication slotspill_txnsbigint
Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.spill_countbigint
Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.spill_bytesbigint
Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.stream_txnsbigint
Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can’t be streamed independently), so the counter is not incremented for subtransactions.stream_countbigint
Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.stream_bytesbigint
Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.mem_exceeded_countbigint
Number of times the memory used by logical decoding has exceeded logical_decoding_work_mem.total_txnsbigint
Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.total_bytesbigint
Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.slotsync_skip_countbigint
Number of times the slot synchronization is skipped. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server.slotsync_last_skiptimestamp with time zone
Time at which last slot synchronization was skipped. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server.stats_resettimestamp with time zone
Time at which these statistics were last reset
Version applicability
Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.
Related & references
Reference: PostgreSQL documentation — pg_stat_replication_slots.