system. Monitoring systems should choose whether to represent this
as missing data, zero or continue to display the last known value.
</para>
</note>
</sect2>
<sect2 id="monitoring-pg-stat-replication-slots-view">
<title><structname>pg_stat_replication_slots</structname></title>
<indexterm>
<primary>pg_stat_replication_slots</primary>
</indexterm>
<para>
The <structname>pg_stat_replication_slots</structname> view will contain
one row per logical replication slot, showing statistics about its usage.
</para>
<table id="pg-stat-replication-slots-view" xreflabel="pg_stat_replication_slots">
<title><structname>pg_stat_replication_slots</structname> View</title>
<tgroup cols="1">
<thead>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
Column Type
</para>
<para>
Description
</para></entry>
</row>
</thead>
<tbody>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>slot_name</structfield> <type>text</type>
</para>
<para>
A unique, cluster-wide identifier for the replication slot
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>spill_txns</structfield> <type>bigint</type>
</para>
<para>
Number of transactions spilled to disk once the memory used by
logical decoding to decode changes from WAL has exceeded
<literal>logical_decoding_work_mem</literal>. The counter gets
incremented for both top-level transactions and subtransactions.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>spill_count</structfield> <type>bigint</type>
</para>
<para>
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.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>spill_bytes</structfield> <type>bigint</type>
</para>
<para>
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 <literal>logical_decoding_work_mem</literal>.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>stream_txns</structfield> <type>bigint</type>
</para>
<para>
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
<literal>logical_decoding_work_mem</literal>. Streaming only
works with top-level transactions (subtransactions can't be streamed
independently), so the counter is not incremented for subtransactions.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>stream_count</structfield><type>bigint</type>
</para>
<para>
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.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>stream_bytes</structfield><type>bigint</type>
</para>