diff options
author | Amit Kapila | 2020-10-08 03:39:08 +0000 |
---|---|---|
committer | Amit Kapila | 2020-10-08 03:39:08 +0000 |
commit | 98681675002d852d926a49d7bc4d4b4856b2fc4a (patch) | |
tree | e30f3bd90ae90d11b6a1ac4a7d705f6adfb6dd50 /doc/src | |
parent | 8d2a01ae12cd657b33ffd50eace86a341636c586 (diff) |
Track statistics for spilling of changes from ReorderBuffer.
This adds the statistics about transactions spilled to disk from
ReorderBuffer. Users can query the pg_stat_replication_slots view to check
these stats and call pg_stat_reset_replication_slot to reset the stats of
a particular slot. Users can pass NULL in pg_stat_reset_replication_slot
to reset stats of all the slots.
This commit extends the statistics collector to track this information
about slots.
Author: Sawada Masahiko and Amit Kapila
Reviewed-by: Amit Kapila and Dilip Kumar
Discussion: https://postgr.es/m/CA+fd4k5_pPAYRTDrO2PbtTOe0eHQpBvuqmCr8ic39uTNmR49Eg@mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/monitoring.sgml | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 171ba7049c7..66566765f0c 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -315,6 +315,15 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser </row> <row> + <entry><structname>pg_stat_replication_slots</structname><indexterm><primary>pg_stat_replication_slots</primary></indexterm></entry> + <entry>One row per replication slot, showing statistics about + replication slot usage. + See <link linkend="monitoring-pg-stat-replication-slots-view"> + <structname>pg_stat_replication_slots</structname></link> for details. + </entry> + </row> + + <row> <entry><structname>pg_stat_wal_receiver</structname><indexterm><primary>pg_stat_wal_receiver</primary></indexterm></entry> <entry>Only one row, showing statistics about the WAL receiver from that receiver's connected server. @@ -2552,6 +2561,88 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i </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>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 after the memory used by + logical decoding exceeds <literal>logical_decoding_work_mem</literal>. The + counter gets incremented both for toplevel 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. Transactions + may get spilled repeatedly, and this counter gets incremented on every + such invocation. + </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. + </para></entry> + </row> + + <row> + <entry role="catalog_table_entry"><para role="column_definition"> + <structfield>stats_reset</structfield> <type>timestamp with time zone</type> + </para> + <para> + Time at which these statistics were last reset + </para></entry> + </row> + </tbody> + </tgroup> + </table> + + </sect2> + <sect2 id="monitoring-pg-stat-wal-receiver-view"> <title><structname>pg_stat_wal_receiver</structname></title> @@ -4802,6 +4893,27 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i can be granted EXECUTE to run the function. </para></entry> </row> + + <row> + <entry role="func_table_entry"><para role="func_signature"> + <indexterm> + <primary>pg_stat_reset_replication_slot</primary> + </indexterm> + <function>pg_stat_reset_replication_slot</function> ( <type>text</type> ) + <returnvalue>void</returnvalue> + </para> + <para> + Resets statistics to zero for a single replication slot, or for all + replication slots in the cluster. The argument can be either the name + of the slot to reset the stats or NULL. If the argument is NULL, all + counters shown in the <structname>pg_stat_replication_slots</structname> + view for all replication slots are reset. + </para> + <para> + This function is restricted to superusers by default, but other users + can be granted EXECUTE to run the function. + </para></entry> + </row> </tbody> </tgroup> </table> |