Commit 92f94686 authored by Fujii Masao's avatar Fujii Masao

doc: Update the layout of "Viewing Statistics" section.

This commit updates the "Viewing Statistics" section more like
the existing catalogs chapter.

- Change its layout so that an introductory paragrap is put above
   the table for each statistics view. Previously the explanations
   were below the tables.

- Separate each view to different section and add index terms for them.

Author: Fujii Masao
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/6f8a482c-b3fa-4ed9-21c3-6d222a2cb87d@oss.nttdata.com
parent 6a4a335b
...@@ -10455,8 +10455,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l ...@@ -10455,8 +10455,9 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<para> <para>
The <structfield>pid</structfield> column can be joined to the The <structfield>pid</structfield> column can be joined to the
<structfield>pid</structfield> column of the <link <structfield>pid</structfield> column of the
linkend="pg-stat-activity-view"><structname>pg_stat_activity</structname></link> <link linkend="monitoring-pg-stat-activity-view">
<structname>pg_stat_activity</structname></link>
view to get more view to get more
information on the session holding or awaiting each lock, information on the session holding or awaiting each lock,
for example for example
......
...@@ -3889,9 +3889,9 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows ...@@ -3889,9 +3889,9 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
The synchronous standbys will be those whose names appear The synchronous standbys will be those whose names appear
in this list, and in this list, and
that are both currently connected and streaming data in real-time that are both currently connected and streaming data in real-time
(as shown by a state of <literal>streaming</literal> in the <link (as shown by a state of <literal>streaming</literal> in the
linkend="pg-stat-replication-view"><literal>pg_stat_replication</literal></link> <link linkend="monitoring-pg-stat-replication-view">
view). <structname>pg_stat_replication</structname></link> view).
Specifying more than one synchronous standby can allow for very high Specifying more than one synchronous standby can allow for very high
availability and protection against data loss. availability and protection against data loss.
</para> </para>
...@@ -4244,8 +4244,8 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class=" ...@@ -4244,8 +4244,8 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
Specifies the minimum frequency for the WAL receiver Specifies the minimum frequency for the WAL receiver
process on the standby to send information about replication progress process on the standby to send information about replication progress
to the primary or upstream standby, where it can be seen using the to the primary or upstream standby, where it can be seen using the
<link <link linkend="monitoring-pg-stat-replication-view">
linkend="pg-stat-replication-view"><literal>pg_stat_replication</literal></link> <structname>pg_stat_replication</structname></link>
view. The standby will report view. The standby will report
the last write-ahead log location it has written, the last position it the last write-ahead log location it has written, the last position it
has flushed to disk, and the last position it has applied. has flushed to disk, and the last position it has applied.
...@@ -6694,8 +6694,10 @@ local0.* /var/log/postgresql ...@@ -6694,8 +6694,10 @@ local0.* /var/log/postgresql
<para> <para>
The backend type corresponds to the column The backend type corresponds to the column
<structfield>backend_type</structfield> in the view <xref <structfield>backend_type</structfield> in the view
linkend="pg-stat-activity-view"/>, but additional types can appear <link linkend="monitoring-pg-stat-activity-view">
<structname>pg_stat_activity</structname></link>,
but additional types can appear
in the log that don't show in that view. in the log that don't show in that view.
</para> </para>
...@@ -7191,7 +7193,8 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; ...@@ -7191,7 +7193,8 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
platforms. You can use the <xref linkend="pgtesttiming"/> tool to platforms. You can use the <xref linkend="pgtesttiming"/> tool to
measure the overhead of timing on your system. measure the overhead of timing on your system.
I/O timing information is I/O timing information is
displayed in <xref linkend="pg-stat-database-view"/>, in the output of displayed in <link linkend="monitoring-pg-stat-database-view">
<structname>pg_stat_database</structname></link>, in the output of
<xref linkend="sql-explain"/> when the <literal>BUFFERS</literal> option is <xref linkend="sql-explain"/> when the <literal>BUFFERS</literal> option is
used, and by <xref linkend="pgstatstatements"/>. Only superusers can used, and by <xref linkend="pgstatstatements"/>. Only superusers can
change this setting. change this setting.
......
...@@ -895,7 +895,8 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' ...@@ -895,7 +895,8 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
</para> </para>
<para> <para>
You can retrieve a list of WAL sender processes via the You can retrieve a list of WAL sender processes via the
<xref linkend="pg-stat-replication-view"/> view. Large differences between <link linkend="monitoring-pg-stat-replication-view"><structname>
pg_stat_replication</structname></link> view. Large differences between
<function>pg_current_wal_lsn</function> and the view's <literal>sent_lsn</literal> field <function>pg_current_wal_lsn</function> and the view's <literal>sent_lsn</literal> field
might indicate that the master server is under heavy load, while might indicate that the master server is under heavy load, while
differences between <literal>sent_lsn</literal> and differences between <literal>sent_lsn</literal> and
...@@ -904,7 +905,8 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' ...@@ -904,7 +905,8 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
</para> </para>
<para> <para>
On a hot standby, the status of the WAL receiver process can be retrieved On a hot standby, the status of the WAL receiver process can be retrieved
via the <xref linkend="pg-stat-wal-receiver-view"/> view. A large via the <link linkend="monitoring-pg-stat-wal-receiver-view">
<structname>pg_stat_wal_receiver</structname></link> view. A large
difference between <function>pg_last_wal_replay_lsn</function> and the difference between <function>pg_last_wal_replay_lsn</function> and the
view's <literal>flushed_lsn</literal> indicates that WAL is being view's <literal>flushed_lsn</literal> indicates that WAL is being
received faster than it can be replayed. received faster than it can be replayed.
......
...@@ -495,7 +495,8 @@ ...@@ -495,7 +495,8 @@
<para> <para>
The monitoring information about subscription is visible in The monitoring information about subscription is visible in
<link linkend="pg-stat-subscription"><literal>pg_stat_subscription</literal></link>. <link linkend="monitoring-pg-stat-subscription">
<structname>pg_stat_subscription</structname></link>.
This view contains one row for every subscription worker. A subscription This view contains one row for every subscription worker. A subscription
can have zero or more active subscription workers depending on its state. can have zero or more active subscription workers depending on its state.
</para> </para>
......
...@@ -347,7 +347,8 @@ $ pg_recvlogical -d postgres --slot=test --drop-slot ...@@ -347,7 +347,8 @@ $ pg_recvlogical -d postgres --slot=test --drop-slot
<para> <para>
The <link linkend="view-pg-replication-slots"><structname>pg_replication_slots</structname></link> The <link linkend="view-pg-replication-slots"><structname>pg_replication_slots</structname></link>
view and the view and the
<link linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link> <link linkend="monitoring-pg-stat-replication-view">
<structname>pg_stat_replication</structname></link>
view provide information about the current state of replication slots and view provide information about the current state of replication slots and
streaming replication connections respectively. These views apply to both physical and streaming replication connections respectively. These views apply to both physical and
logical replication. logical replication.
......
...@@ -300,7 +300,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -300,7 +300,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row per server process, showing information related to One row per server process, showing information related to
the current activity of that process, such as state and current query. the current activity of that process, such as state and current query.
See <xref linkend="pg-stat-activity-view"/> for details. See <link linkend="monitoring-pg-stat-activity-view">
<structname>pg_stat_activity</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -308,7 +309,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -308,7 +309,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_replication</structname><indexterm><primary>pg_stat_replication</primary></indexterm></entry> <entry><structname>pg_stat_replication</structname><indexterm><primary>pg_stat_replication</primary></indexterm></entry>
<entry>One row per WAL sender process, showing statistics about <entry>One row per WAL sender process, showing statistics about
replication to that sender's connected standby server. replication to that sender's connected standby server.
See <xref linkend="pg-stat-replication-view"/> for details. See <link linkend="monitoring-pg-stat-replication-view">
<structname>pg_stat_replication</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -316,7 +318,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -316,7 +318,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_wal_receiver</structname><indexterm><primary>pg_stat_wal_receiver</primary></indexterm></entry> <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 <entry>Only one row, showing statistics about the WAL receiver from
that receiver's connected server. that receiver's connected server.
See <xref linkend="pg-stat-wal-receiver-view"/> for details. See <link linkend="monitoring-pg-stat-wal-receiver-view">
<structname>pg_stat_wal_receiver</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -324,7 +327,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -324,7 +327,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_subscription</structname><indexterm><primary>pg_stat_subscription</primary></indexterm></entry> <entry><structname>pg_stat_subscription</structname><indexterm><primary>pg_stat_subscription</primary></indexterm></entry>
<entry>At least one row per subscription, showing information about <entry>At least one row per subscription, showing information about
the subscription workers. the subscription workers.
See <xref linkend="pg-stat-subscription"/> for details. See <link linkend="monitoring-pg-stat-subscription">
<structname>pg_stat_subscription</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -332,7 +336,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -332,7 +336,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_ssl</structname><indexterm><primary>pg_stat_ssl</primary></indexterm></entry> <entry><structname>pg_stat_ssl</structname><indexterm><primary>pg_stat_ssl</primary></indexterm></entry>
<entry>One row per connection (regular and replication), showing information about <entry>One row per connection (regular and replication), showing information about
SSL used on this connection. SSL used on this connection.
See <xref linkend="pg-stat-ssl-view"/> for details. See <link linkend="monitoring-pg-stat-ssl-view">
<structname>pg_stat_ssl</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -340,7 +345,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -340,7 +345,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_gssapi</structname><indexterm><primary>pg_stat_gssapi</primary></indexterm></entry> <entry><structname>pg_stat_gssapi</structname><indexterm><primary>pg_stat_gssapi</primary></indexterm></entry>
<entry>One row per connection (regular and replication), showing information about <entry>One row per connection (regular and replication), showing information about
GSSAPI authentication and encryption used on this connection. GSSAPI authentication and encryption used on this connection.
See <xref linkend="pg-stat-gssapi-view"/> for details. See <link linkend="monitoring-pg-stat-gssapi-view">
<structname>pg_stat_gssapi</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -404,7 +410,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -404,7 +410,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_archiver</structname><indexterm><primary>pg_stat_archiver</primary></indexterm></entry> <entry><structname>pg_stat_archiver</structname><indexterm><primary>pg_stat_archiver</primary></indexterm></entry>
<entry>One row only, showing statistics about the <entry>One row only, showing statistics about the
WAL archiver process's activity. See WAL archiver process's activity. See
<xref linkend="pg-stat-archiver-view"/> for details. <link linkend="monitoring-pg-stat-archiver-view">
<structname>pg_stat_archiver</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -412,14 +419,16 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -412,14 +419,16 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><structname>pg_stat_bgwriter</structname><indexterm><primary>pg_stat_bgwriter</primary></indexterm></entry> <entry><structname>pg_stat_bgwriter</structname><indexterm><primary>pg_stat_bgwriter</primary></indexterm></entry>
<entry>One row only, showing statistics about the <entry>One row only, showing statistics about the
background writer process's activity. See background writer process's activity. See
<xref linkend="pg-stat-bgwriter-view"/> for details. <link linkend="monitoring-pg-stat-bgwriter-view">
<structname>pg_stat_bgwriter</structname></link> for details.
</entry> </entry>
</row> </row>
<row> <row>
<entry><structname>pg_stat_database</structname><indexterm><primary>pg_stat_database</primary></indexterm></entry> <entry><structname>pg_stat_database</structname><indexterm><primary>pg_stat_database</primary></indexterm></entry>
<entry>One row per database, showing database-wide statistics. See <entry>One row per database, showing database-wide statistics. See
<xref linkend="pg-stat-database-view"/> for details. <link linkend="monitoring-pg-stat-database-view">
<structname>pg_stat_database</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -428,7 +437,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -428,7 +437,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row per database, showing database-wide statistics about One row per database, showing database-wide statistics about
query cancels due to conflict with recovery on standby servers. query cancels due to conflict with recovery on standby servers.
See <xref linkend="pg-stat-database-conflicts-view"/> for details. See <link linkend="monitoring-pg-stat-database-conflicts-view">
<structname>pg_stat_database_conflicts</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -437,7 +447,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -437,7 +447,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row for each table in the current database, showing statistics One row for each table in the current database, showing statistics
about accesses to that specific table. about accesses to that specific table.
See <xref linkend="pg-stat-all-tables-view"/> for details. See <link linkend="monitoring-pg-stat-all-tables-view">
<structname>pg_stat_all_tables</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -479,7 +490,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -479,7 +490,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row for each index in the current database, showing statistics One row for each index in the current database, showing statistics
about accesses to that specific index. about accesses to that specific index.
See <xref linkend="pg-stat-all-indexes-view"/> for details. See <link linkend="monitoring-pg-stat-all-indexes-view">
<structname>pg_stat_all_indexes</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -500,7 +512,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -500,7 +512,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row for each table in the current database, showing statistics One row for each table in the current database, showing statistics
about I/O on that specific table. about I/O on that specific table.
See <xref linkend="pg-statio-all-tables-view"/> for details. See <link linkend="monitoring-pg-statio-all-tables-view">
<structname>pg_statio_all_tables</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -521,7 +534,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -521,7 +534,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row for each index in the current database, One row for each index in the current database,
showing statistics about I/O on that specific index. showing statistics about I/O on that specific index.
See <xref linkend="pg-statio-all-indexes-view"/> for details. See <link linkend="monitoring-pg-statio-all-indexes-view">
<structname>pg_statio_all_indexes</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -542,7 +556,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -542,7 +556,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row for each sequence in the current database, One row for each sequence in the current database,
showing statistics about I/O on that specific sequence. showing statistics about I/O on that specific sequence.
See <xref linkend="pg-statio-all-sequences-view"/> for details. See <link linkend="monitoring-pg-statio-all-sequences-view">
<structname>pg_statio_all_sequences</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -564,7 +579,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -564,7 +579,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry> <entry>
One row for each tracked function, showing statistics One row for each tracked function, showing statistics
about executions of that function. See about executions of that function. See
<xref linkend="pg-stat-user-functions-view"/> for details. <link linkend="monitoring-pg-stat-user-functions-view">
<structname>pg_stat_user_functions</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -578,7 +594,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -578,7 +594,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<row> <row>
<entry><structname>pg_stat_slru</structname><indexterm><primary>pg_stat_slru</primary></indexterm></entry> <entry><structname>pg_stat_slru</structname><indexterm><primary>pg_stat_slru</primary></indexterm></entry>
<entry>One row per SLRU, showing statistics of operations. See <entry>One row per SLRU, showing statistics of operations. See
<xref linkend="pg-stat-slru-view"/> for details. <link linkend="monitoring-pg-stat-slru-view">
<structname>pg_stat_slru</structname></link> for details.
</entry> </entry>
</row> </row>
...@@ -608,6 +625,20 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -608,6 +625,20 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
into the kernel's handling of I/O. into the kernel's handling of I/O.
</para> </para>
</sect2>
<sect2 id="monitoring-pg-stat-activity-view">
<title><structname>pg_stat_activity</structname></title>
<indexterm>
<primary>pg_stat_activity</primary>
</indexterm>
<para>
The <structname>pg_stat_activity</structname> view will have one row
per server process, showing information related to
the current activity of that process.
</para>
<table id="pg-stat-activity-view" xreflabel="pg_stat_activity"> <table id="pg-stat-activity-view" xreflabel="pg_stat_activity">
<title><structname>pg_stat_activity</structname> View</title> <title><structname>pg_stat_activity</structname> View</title>
...@@ -889,12 +920,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -889,12 +920,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</tgroup> </tgroup>
</table> </table>
<para>
The <structname>pg_stat_activity</structname> view will have one row
per server process, showing information related to
the current activity of that process.
</para>
<note> <note>
<para> <para>
The <structfield>wait_event</structfield> and <structfield>state</structfield> columns are The <structfield>wait_event</structfield> and <structfield>state</structfield> columns are
...@@ -2136,13 +2161,29 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser ...@@ -2136,13 +2161,29 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<programlisting> <programlisting>
SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event is NOT NULL; SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event is NOT NULL;
pid | wait_event_type | wait_event pid | wait_event_type | wait_event
------+-----------------+--------------- ------+-----------------+------------
2540 | Lock | relation 2540 | Lock | relation
6644 | LWLock | ProcArrayLock 6644 | LWLock | ProcArray
(2 rows) (2 rows)
</programlisting> </programlisting>
</para> </para>
</sect2>
<sect2 id="monitoring-pg-stat-replication-view">
<title><structname>pg_stat_replication</structname></title>
<indexterm>
<primary>pg_stat_replication</primary>
</indexterm>
<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-replication-view" xreflabel="pg_stat_replication"> <table id="pg-stat-replication-view" xreflabel="pg_stat_replication">
<title><structname>pg_stat_replication</structname> View</title> <title><structname>pg_stat_replication</structname> View</title>
<tgroup cols="1"> <tgroup cols="1">
...@@ -2457,13 +2498,6 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2457,13 +2498,6 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </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>
<para> <para>
The lag times reported in the <structname>pg_stat_replication</structname> The lag times reported in the <structname>pg_stat_replication</structname>
view are measurements of the time taken for recent WAL to be written, view are measurements of the time taken for recent WAL to be written,
...@@ -2503,6 +2537,21 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2503,6 +2537,21 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</para> </para>
</note> </note>
</sect2>
<sect2 id="monitoring-pg-stat-wal-receiver-view">
<title><structname>pg_stat_wal_receiver</structname></title>
<indexterm>
<primary>pg_stat_wal_receiver</primary>
</indexterm>
<para>
The <structname>pg_stat_wal_receiver</structname> view will contain only
one row, showing statistics about the WAL receiver from that receiver's
connected server.
</para>
<table id="pg-stat-wal-receiver-view" xreflabel="pg_stat_wal_receiver"> <table id="pg-stat-wal-receiver-view" xreflabel="pg_stat_wal_receiver">
<title><structname>pg_stat_wal_receiver</structname> View</title> <title><structname>pg_stat_wal_receiver</structname> View</title>
<tgroup cols="1"> <tgroup cols="1">
...@@ -2668,10 +2717,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2668,10 +2717,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-subscription">
<title><structname>pg_stat_subscription</structname></title>
<indexterm>
<primary>pg_stat_subscription</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_wal_receiver</structname> view will contain only The <structname>pg_stat_subscription</structname> view will contain one
one row, showing statistics about the WAL receiver from that receiver's row per subscription for main worker (with null PID if the worker is
connected server. not running), and additional rows for workers handling the initial data
copy of the subscribed tables.
</para> </para>
<table id="pg-stat-subscription" xreflabel="pg_stat_subscription"> <table id="pg-stat-subscription" xreflabel="pg_stat_subscription">
...@@ -2776,11 +2835,22 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2776,11 +2835,22 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-ssl-view">
<title><structname>pg_stat_ssl</structname></title>
<indexterm>
<primary>pg_stat_ssl</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_subscription</structname> view will contain one The <structname>pg_stat_ssl</structname> view will contain one row per
row per subscription for main worker (with null PID if the worker is backend or WAL sender process, showing statistics about SSL usage on
not running), and additional rows for workers handling the initial data this connection. It can be joined to <structname>pg_stat_activity</structname>
copy of the subscribed tables. or <structname>pg_stat_replication</structname> on the
<structfield>pid</structfield> column to get more details about the
connection.
</para> </para>
<table id="pg-stat-ssl-view" xreflabel="pg_stat_ssl"> <table id="pg-stat-ssl-view" xreflabel="pg_stat_ssl">
...@@ -2896,11 +2966,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2896,11 +2966,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-gssapi-view">
<title><structname>pg_stat_gssapi</structname></title>
<indexterm>
<primary>pg_stat_gssapi</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_ssl</structname> view will contain one row per The <structname>pg_stat_gssapi</structname> view will contain one row per
backend or WAL sender process, showing statistics about SSL usage on backend, showing information about GSSAPI usage on this connection. It can
this connection. It can be joined to <structname>pg_stat_activity</structname> be joined to <structname>pg_stat_activity</structname> or
or <structname>pg_stat_replication</structname> on the <structname>pg_stat_replication</structname> on the
<structfield>pid</structfield> column to get more details about the <structfield>pid</structfield> column to get more details about the
connection. connection.
</para> </para>
...@@ -2962,16 +3041,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -2962,16 +3041,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-archiver-view">
<title><structname>pg_stat_archiver</structname></title>
<indexterm>
<primary>pg_stat_archiver</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_gssapi</structname> view will contain one row per The <structname>pg_stat_archiver</structname> view will always have a
backend, showing information about GSSAPI usage on this connection. It can single row, containing data about the archiver process of the cluster.
be joined to <structname>pg_stat_activity</structname> or
<structname>pg_stat_replication</structname> on the
<structfield>pid</structfield> column to get more details about the
connection.
</para> </para>
<table id="pg-stat-archiver-view" xreflabel="pg_stat_archiver"> <table id="pg-stat-archiver-view" xreflabel="pg_stat_archiver">
<title><structname>pg_stat_archiver</structname> View</title> <title><structname>pg_stat_archiver</structname> View</title>
<tgroup cols="1"> <tgroup cols="1">
...@@ -3053,9 +3136,18 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3053,9 +3136,18 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-bgwriter-view">
<title><structname>pg_stat_bgwriter</structname></title>
<indexterm>
<primary>pg_stat_bgwriter</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_archiver</structname> view will always have a The <structname>pg_stat_bgwriter</structname> view will always have a
single row, containing data about the archiver process of the cluster. single row, containing global data for the cluster.
</para> </para>
<table id="pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter"> <table id="pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter">
...@@ -3181,9 +3273,19 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3181,9 +3273,19 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-database-view">
<title><structname>pg_stat_database</structname></title>
<indexterm>
<primary>pg_stat_database</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_bgwriter</structname> view will always have a The <structname>pg_stat_database</structname> view will contain one row
single row, containing global data for the cluster. for each database in the cluster, plus one for shared objects, showing
database-wide statistics.
</para> </para>
<table id="pg-stat-database-view" xreflabel="pg_stat_database"> <table id="pg-stat-database-view" xreflabel="pg_stat_database">
...@@ -3325,7 +3427,8 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3325,7 +3427,8 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
<para> <para>
Number of queries canceled due to conflicts with recovery Number of queries canceled due to conflicts with recovery
in this database. (Conflicts occur only on standby servers; see in this database. (Conflicts occur only on standby servers; see
<xref linkend="pg-stat-database-conflicts-view"/> for details.) <link linkend="monitoring-pg-stat-database-conflicts-view">
<structname>pg_stat_database_conflicts</structname></link> for details.)
</para></entry> </para></entry>
</row> </row>
...@@ -3418,10 +3521,21 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3418,10 +3521,21 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-database-conflicts-view">
<title><structname>pg_stat_database_conflicts</structname></title>
<indexterm>
<primary>pg_stat_database_conflicts</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_database</structname> view will contain one row The <structname>pg_stat_database_conflicts</structname> view will contain
for each database in the cluster, plus one for shared objects, showing one row per database, showing database-wide statistics about
database-wide statistics. 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> </para>
<table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts"> <table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts">
...@@ -3510,12 +3624,23 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3510,12 +3624,23 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-all-tables-view">
<title><structname>pg_stat_all_tables</structname></title>
<indexterm>
<primary>pg_stat_all_tables</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_database_conflicts</structname> view will contain The <structname>pg_stat_all_tables</structname> view will contain
one row per database, showing database-wide statistics about one row for each table in the current database (including TOAST
query cancels occurring due to conflicts with recovery on standby servers. tables), showing statistics about accesses to that specific table. The
This view will only contain information on standby servers, since <structname>pg_stat_user_tables</structname> and
conflicts do not occur on master servers. <structname>pg_stat_sys_tables</structname> views
contain the same information,
but filtered to only show user and system tables respectively.
</para> </para>
<table id="pg-stat-all-tables-view" xreflabel="pg_stat_all_tables"> <table id="pg-stat-all-tables-view" xreflabel="pg_stat_all_tables">
...@@ -3750,14 +3875,23 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3750,14 +3875,23 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-all-indexes-view">
<title><structname>pg_stat_all_indexes</structname></title>
<indexterm>
<primary>pg_stat_all_indexes</primary>
</indexterm>
<para> <para>
The <structname>pg_stat_all_tables</structname> view will contain The <structname>pg_stat_all_indexes</structname> view will contain
one row for each table in the current database (including TOAST one row for each index in the current database,
tables), showing statistics about accesses to that specific table. The showing statistics about accesses to that specific index. The
<structname>pg_stat_user_tables</structname> and <structname>pg_stat_user_indexes</structname> and
<structname>pg_stat_sys_tables</structname> views <structname>pg_stat_sys_indexes</structname> views
contain the same information, contain the same information,
but filtered to only show user and system tables respectively. but filtered to only show user and system indexes respectively.
</para> </para>
<table id="pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes"> <table id="pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes">
...@@ -3851,16 +3985,6 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3851,16 +3985,6 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
<para>
The <structname>pg_stat_all_indexes</structname> view will contain
one row for each index in the current database,
showing statistics about accesses to that specific index. The
<structname>pg_stat_user_indexes</structname> and
<structname>pg_stat_sys_indexes</structname> views
contain the same information,
but filtered to only show user and system indexes respectively.
</para>
<para> <para>
Indexes can be used by simple index scans, <quote>bitmap</quote> index scans, Indexes can be used by simple index scans, <quote>bitmap</quote> index scans,
and the optimizer. In a bitmap scan and the optimizer. In a bitmap scan
...@@ -3890,6 +4014,25 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -3890,6 +4014,25 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</para> </para>
</note> </note>
</sect2>
<sect2 id="monitoring-pg-statio-all-tables-view">
<title><structname>pg_statio_all_tables</structname></title>
<indexterm>
<primary>pg_statio_all_tables</primary>
</indexterm>
<para>
The <structname>pg_statio_all_tables</structname> view will contain
one row for each table in the current database (including TOAST
tables), showing statistics about I/O on that specific table. The
<structname>pg_statio_user_tables</structname> and
<structname>pg_statio_sys_tables</structname> views
contain the same information,
but filtered to only show user and system tables respectively.
</para>
<table id="pg-statio-all-tables-view" xreflabel="pg_statio_all_tables"> <table id="pg-statio-all-tables-view" xreflabel="pg_statio_all_tables">
<title><structname>pg_statio_all_tables</structname> View</title> <title><structname>pg_statio_all_tables</structname> View</title>
<tgroup cols="1"> <tgroup cols="1">
...@@ -4007,14 +4150,23 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -4007,14 +4150,23 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-statio-all-indexes-view">
<title><structname>pg_statio_all_indexes</structname></title>
<indexterm>
<primary>pg_statio_all_indexes</primary>
</indexterm>
<para> <para>
The <structname>pg_statio_all_tables</structname> view will contain The <structname>pg_statio_all_indexes</structname> view will contain
one row for each table in the current database (including TOAST one row for each index in the current database,
tables), showing statistics about I/O on that specific table. The showing statistics about I/O on that specific index. The
<structname>pg_statio_user_tables</structname> and <structname>pg_statio_user_indexes</structname> and
<structname>pg_statio_sys_tables</structname> views <structname>pg_statio_sys_indexes</structname> views
contain the same information, contain the same information,
but filtered to only show user and system tables respectively. but filtered to only show user and system indexes respectively.
</para> </para>
<table id="pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes"> <table id="pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes">
...@@ -4098,14 +4250,19 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -4098,14 +4250,19 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-statio-all-sequences-view">
<title><structname>pg_statio_all_sequences</structname></title>
<indexterm>
<primary>pg_statio_all_sequences</primary>
</indexterm>
<para> <para>
The <structname>pg_statio_all_indexes</structname> view will contain The <structname>pg_statio_all_sequences</structname> view will contain
one row for each index in the current database, one row for each sequence in the current database,
showing statistics about I/O on that specific index. The showing statistics about I/O on that specific sequence.
<structname>pg_statio_user_indexes</structname> and
<structname>pg_statio_sys_indexes</structname> views
contain the same information,
but filtered to only show user and system indexes respectively.
</para> </para>
<table id="pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences"> <table id="pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences">
...@@ -4171,10 +4328,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -4171,10 +4328,20 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-user-functions-view">
<title><structname>pg_stat_user_functions</structname></title>
<indexterm>
<primary>pg_stat_user_functions</primary>
</indexterm>
<para> <para>
The <structname>pg_statio_all_sequences</structname> view will contain The <structname>pg_stat_user_functions</structname> view will contain
one row for each sequence in the current database, one row for each tracked function, showing statistics about executions of
showing statistics about I/O on that specific sequence. that function. The <xref linkend="guc-track-functions"/> parameter
controls exactly which functions are tracked.
</para> </para>
<table id="pg-stat-user-functions-view" xreflabel="pg_stat_user_functions"> <table id="pg-stat-user-functions-view" xreflabel="pg_stat_user_functions">
...@@ -4251,10 +4418,19 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -4251,10 +4418,19 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
</sect2>
<sect2 id="monitoring-pg-stat-slru-view">
<title><structname>pg_stat_slru</structname></title>
<indexterm> <indexterm>
<primary>SLRU</primary> <primary>SLRU</primary>
</indexterm> </indexterm>
<indexterm>
<primary>pg_stat_slru</primary>
</indexterm>
<para> <para>
<productname>PostgreSQL</productname> accesses certain on-disk information <productname>PostgreSQL</productname> accesses certain on-disk information
via <firstterm>SLRU</firstterm> (simple least-recently-used) caches. via <firstterm>SLRU</firstterm> (simple least-recently-used) caches.
...@@ -4364,13 +4540,6 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i ...@@ -4364,13 +4540,6 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
</tgroup> </tgroup>
</table> </table>
<para>
The <structname>pg_stat_user_functions</structname> view will contain
one row for each tracked function, showing statistics about executions of
that function. The <xref linkend="guc-track-functions"/> parameter
controls exactly which functions are tracked.
</para>
</sect2> </sect2>
<sect2 id="monitoring-stats-functions"> <sect2 id="monitoring-stats-functions">
......
...@@ -219,7 +219,8 @@ PostgreSQL documentation ...@@ -219,7 +219,8 @@ PostgreSQL documentation
may incur a noticeable performance penalty. If set, checksums may incur a noticeable performance penalty. If set, checksums
are calculated for all objects, in all databases. All checksum are calculated for all objects, in all databases. All checksum
failures will be reported in the failures will be reported in the
<xref linkend="pg-stat-database-view"/> view. <link linkend="monitoring-pg-stat-database-view">
<structname>pg_stat_database</structname></link> view.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -533,7 +533,8 @@ PostgreSQL documentation ...@@ -533,7 +533,8 @@ PostgreSQL documentation
in a non-zero exit status. However, the base backup will not be in a non-zero exit status. However, the base backup will not be
removed in such a case, as if the <option>--no-clean</option> option removed in such a case, as if the <option>--no-clean</option> option
had been used. Checksum verifications failures will also be reported had been used. Checksum verifications failures will also be reported
in the <xref linkend="pg-stat-database-view"/> view. in the <link linkend="monitoring-pg-stat-database-view">
<structname>pg_stat_database</structname></link> view.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
<para> <para>
Some of the information available through this module can also be obtained Some of the information available through this module can also be obtained
using the built-in system view <xref linkend="pg-stat-ssl-view"/>. using the built-in system view <link linkend="monitoring-pg-stat-ssl-view">
<structname>pg_stat_ssl</structname></link>.
</para> </para>
<para> <para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment