Restructure doc sections about statistics views
Break out the "dynamic statistics" views in the table from the "collected statistics" ones. Could do with some more refactoring, but this is a start.
This commit is contained in:
parent
0f66d21201
commit
386c9b7383
|
@ -147,9 +147,11 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
</para>
|
||||
|
||||
<para>
|
||||
<productname>PostgreSQL</productname> also supports reporting of the exact
|
||||
command currently being executed by other server processes. This
|
||||
facility is independent of the collector process.
|
||||
<productname>PostgreSQL</productname> also supports reporting dynamic
|
||||
information about exactly what is going on in the system right now, such as
|
||||
the exact command currently being executed by other server processes, and
|
||||
which other connections exist in the system. This facility is independent
|
||||
of the collector process.
|
||||
</para>
|
||||
|
||||
<sect2 id="monitoring-stats-setup">
|
||||
|
@ -211,18 +213,21 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
</sect2>
|
||||
|
||||
<sect2 id="monitoring-stats-views">
|
||||
<title>Viewing Collected Statistics</title>
|
||||
<title>Viewing Statistics</title>
|
||||
|
||||
<para>
|
||||
Several predefined views, listed in <xref
|
||||
linkend="monitoring-stats-views-table">, are available to show the results
|
||||
linkend="monitoring-stats-dynamic-views-table">, are available to show
|
||||
the current state of the system. There are also several other
|
||||
views, listed in <xref
|
||||
linkend="monitoring-stats-views-table">, available to show the results
|
||||
of statistics collection. Alternatively, one can
|
||||
build custom views using the underlying statistics functions, as discussed
|
||||
in <xref linkend="monitoring-stats-functions">.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When using the statistics to monitor current activity, it is important
|
||||
When using the statistics to monitor collected data, it is important
|
||||
to realize that the information does not update instantaneously.
|
||||
Each individual server process transmits new statistical counts to
|
||||
the collector just before going idle; so a query or transaction still in
|
||||
|
@ -263,8 +268,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
stated above; instead they update continuously throughout the transaction.
|
||||
</para>
|
||||
|
||||
<table id="monitoring-stats-views-table">
|
||||
<title>Standard Statistics Views</title>
|
||||
<table id="monitoring-stats-dynamic-views-table">
|
||||
<title>Dynamic Statistics Views</title>
|
||||
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
|
@ -287,6 +292,30 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structname>pg_stat_replication</><indexterm><primary>pg_stat_replication</primary></indexterm></entry>
|
||||
<entry>One row per WAL sender process, showing statistics about
|
||||
replication to that sender's connected standby server.
|
||||
See <xref linkend="pg-stat-replication-view"> for details.
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<table id="monitoring-stats-views-table">
|
||||
<title>Collected Statistics Views</title>
|
||||
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>View Name</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><structname>pg_stat_archiver</><indexterm><primary>pg_stat_archiver</primary></indexterm></entry>
|
||||
<entry>One row only, showing statistics about the
|
||||
|
@ -310,6 +339,15 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structname>pg_stat_database_conflicts</><indexterm><primary>pg_stat_database_conflicts</primary></indexterm></entry>
|
||||
<entry>
|
||||
One row per database, showing database-wide statistics about
|
||||
query cancels due to conflict with recovery on standby servers.
|
||||
See <xref linkend="pg-stat-database-conflicts-view"> for details.
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structname>pg_stat_all_tables</><indexterm><primary>pg_stat_all_tables</primary></indexterm></entry>
|
||||
<entry>
|
||||
|
@ -453,23 +491,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
yet included in <structname>pg_stat_user_functions</>).</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structname>pg_stat_replication</><indexterm><primary>pg_stat_replication</primary></indexterm></entry>
|
||||
<entry>One row per WAL sender process, showing statistics about
|
||||
replication to that sender's connected standby server.
|
||||
See <xref linkend="pg-stat-replication-view"> for details.
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structname>pg_stat_database_conflicts</><indexterm><primary>pg_stat_database_conflicts</primary></indexterm></entry>
|
||||
<entry>
|
||||
One row per database, showing database-wide statistics about
|
||||
query cancels due to conflict with recovery on standby servers.
|
||||
See <xref linkend="pg-stat-database-conflicts-view"> for details.
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
@ -684,6 +705,127 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
</para>
|
||||
</note>
|
||||
|
||||
<table id="pg-stat-replication-view" xreflabel="pg_stat_replication">
|
||||
<title><structname>pg_stat_replication</structname> View</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Column</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><structfield>pid</></entry>
|
||||
<entry><type>integer</></entry>
|
||||
<entry>Process ID of a WAL sender process</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>usesysid</></entry>
|
||||
<entry><type>oid</></entry>
|
||||
<entry>OID of the user logged into this WAL sender process</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>usename</></entry>
|
||||
<entry><type>name</></entry>
|
||||
<entry>Name of the user logged into this WAL sender process</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>application_name</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Name of the application that is connected
|
||||
to this WAL sender</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>client_addr</></entry>
|
||||
<entry><type>inet</></entry>
|
||||
<entry>IP address of the client connected to this WAL sender.
|
||||
If this field is null, it indicates that the client is
|
||||
connected via a Unix socket on the server machine.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>client_hostname</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Host name of the connected client, as reported by a
|
||||
reverse DNS lookup of <structfield>client_addr</>. This field will
|
||||
only be non-null for IP connections, and only when <xref
|
||||
linkend="guc-log-hostname"> is enabled.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>client_port</></entry>
|
||||
<entry><type>integer</></entry>
|
||||
<entry>TCP port number that the client is using for communication
|
||||
with this WAL sender, or <literal>-1</> if a Unix socket is used
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>backend_start</></entry>
|
||||
<entry><type>timestamp with time zone</></entry>
|
||||
<entry>Time when this process was started, i.e., when the
|
||||
client connected to this WAL sender
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>backend_xmin</structfield></entry>
|
||||
<entry><type>xid</type></entry>
|
||||
<entry>This standby's <literal>xmin</> horizon reported
|
||||
by <xref linkend="guc-hot-standby-feedback">.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>state</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Current WAL sender state</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>sent_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position sent on this connection</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>write_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position written to disk by this standby
|
||||
server</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>flush_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position flushed to disk by this standby
|
||||
server</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>replay_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position replayed into the database on this
|
||||
standby server</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>sync_priority</></entry>
|
||||
<entry><type>integer</></entry>
|
||||
<entry>Priority of this standby server for being chosen as the
|
||||
synchronous standby</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>sync_state</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Synchronous state of this standby server</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
The <structname>pg_stat_replication</structname> view will contain one row
|
||||
per WAL sender process, showing statistics about replication to that
|
||||
sender's connected standby server. Only directly connected standbys are
|
||||
listed; no information is available about downstream standby servers.
|
||||
</para>
|
||||
|
||||
|
||||
<table id="pg-stat-archiver-view" xreflabel="pg_stat_archiver">
|
||||
<title><structname>pg_stat_archiver</structname> View</title>
|
||||
|
||||
|
@ -965,6 +1107,70 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
for each database in the cluster, showing database-wide statistics.
|
||||
</para>
|
||||
|
||||
<table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts">
|
||||
<title><structname>pg_stat_database_conflicts</structname> View</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Column</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><structfield>datid</></entry>
|
||||
<entry><type>oid</></entry>
|
||||
<entry>OID of a database</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>datname</></entry>
|
||||
<entry><type>name</></entry>
|
||||
<entry>Name of this database</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_tablespace</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
dropped tablespaces</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_lock</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
lock timeouts</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_snapshot</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
old snapshots</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_bufferpin</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
pinned buffers</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_deadlock</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
deadlocks</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
The <structname>pg_stat_database_conflicts</structname> view will contain
|
||||
one row per database, showing database-wide statistics about
|
||||
query cancels occurring due to conflicts with recovery on standby servers.
|
||||
This view will only contain information on standby servers, since
|
||||
conflicts do not occur on master servers.
|
||||
</para>
|
||||
|
||||
<table id="pg-stat-all-tables-view" xreflabel="pg_stat_all_tables">
|
||||
<title><structname>pg_stat_all_tables</structname> View</title>
|
||||
<tgroup cols="3">
|
||||
|
@ -1445,190 +1651,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
controls exactly which functions are tracked.
|
||||
</para>
|
||||
|
||||
<table id="pg-stat-replication-view" xreflabel="pg_stat_replication">
|
||||
<title><structname>pg_stat_replication</structname> View</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Column</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><structfield>pid</></entry>
|
||||
<entry><type>integer</></entry>
|
||||
<entry>Process ID of a WAL sender process</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>usesysid</></entry>
|
||||
<entry><type>oid</></entry>
|
||||
<entry>OID of the user logged into this WAL sender process</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>usename</></entry>
|
||||
<entry><type>name</></entry>
|
||||
<entry>Name of the user logged into this WAL sender process</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>application_name</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Name of the application that is connected
|
||||
to this WAL sender</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>client_addr</></entry>
|
||||
<entry><type>inet</></entry>
|
||||
<entry>IP address of the client connected to this WAL sender.
|
||||
If this field is null, it indicates that the client is
|
||||
connected via a Unix socket on the server machine.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>client_hostname</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Host name of the connected client, as reported by a
|
||||
reverse DNS lookup of <structfield>client_addr</>. This field will
|
||||
only be non-null for IP connections, and only when <xref
|
||||
linkend="guc-log-hostname"> is enabled.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>client_port</></entry>
|
||||
<entry><type>integer</></entry>
|
||||
<entry>TCP port number that the client is using for communication
|
||||
with this WAL sender, or <literal>-1</> if a Unix socket is used
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>backend_start</></entry>
|
||||
<entry><type>timestamp with time zone</></entry>
|
||||
<entry>Time when this process was started, i.e., when the
|
||||
client connected to this WAL sender
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>backend_xmin</structfield></entry>
|
||||
<entry><type>xid</type></entry>
|
||||
<entry>This standby's <literal>xmin</> horizon reported
|
||||
by <xref linkend="guc-hot-standby-feedback">.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>state</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Current WAL sender state</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>sent_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position sent on this connection</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>write_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position written to disk by this standby
|
||||
server</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>flush_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position flushed to disk by this standby
|
||||
server</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>replay_location</></entry>
|
||||
<entry><type>pg_lsn</></entry>
|
||||
<entry>Last transaction log position replayed into the database on this
|
||||
standby server</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>sync_priority</></entry>
|
||||
<entry><type>integer</></entry>
|
||||
<entry>Priority of this standby server for being chosen as the
|
||||
synchronous standby</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>sync_state</></entry>
|
||||
<entry><type>text</></entry>
|
||||
<entry>Synchronous state of this standby server</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
The <structname>pg_stat_replication</structname> view will contain one row
|
||||
per WAL sender process, showing statistics about replication to that
|
||||
sender's connected standby server. Only directly connected standbys are
|
||||
listed; no information is available about downstream standby servers.
|
||||
</para>
|
||||
|
||||
<table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts">
|
||||
<title><structname>pg_stat_database_conflicts</structname> View</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Column</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><structfield>datid</></entry>
|
||||
<entry><type>oid</></entry>
|
||||
<entry>OID of a database</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>datname</></entry>
|
||||
<entry><type>name</></entry>
|
||||
<entry>Name of this database</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_tablespace</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
dropped tablespaces</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_lock</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
lock timeouts</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_snapshot</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
old snapshots</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_bufferpin</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
pinned buffers</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><structfield>confl_deadlock</></entry>
|
||||
<entry><type>bigint</></entry>
|
||||
<entry>Number of queries in this database that have been canceled due to
|
||||
deadlocks</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>
|
||||
The <structname>pg_stat_database_conflicts</structname> view will contain
|
||||
one row per database, showing database-wide statistics about
|
||||
query cancels occurring due to conflicts with recovery on standby servers.
|
||||
This view will only contain information on standby servers, since
|
||||
conflicts do not occur on master servers.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="monitoring-stats-functions">
|
||||
|
|
Loading…
Reference in New Issue