pg_stat_replication_slots — PostgreSQL statistics view

The PostgreSQL pg_stat_replication_slots statistics view: full column reference (names, types, descriptions), catalog relationships and version support.

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_name text
    A unique, cluster-wide identifier for the replication slot
  • spill_txns bigint
    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_count bigint
    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_bytes bigint
    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_txns bigint
    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_count bigint
    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_bytes bigint
    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_count bigint
    Number of times the memory used by logical decoding has exceeded logical_decoding_work_mem.
  • total_txns bigint
    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_bytes bigint
    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_count bigint
    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_skip timestamp 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_reset timestamp 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.