diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index cb13c8e8353bb4b9b9376b53c4f5f6cc75894144..ffad77f04f9871ad0f4a1e7ce0d7ce91a36e22bd 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -261,83 +261,44 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re <row> <entry><structname>pg_stat_bgwriter</><indexterm><primary>pg_stat_bgwriter</primary></indexterm></entry> - <entry>One row only, showing cluster-wide statistics from the - background writer: number of scheduled checkpoints, requested - checkpoints, buffers written by checkpoints and cleaning scans, - and the number of times the background writer stopped a cleaning scan - because it had written too many buffers. Also includes - statistics about the shared buffer pool, including buffers written - by backends (that is, not by the background writer), how many times - those backends had to execute their own fsync calls (normally the - background writer handles those even when the backend does its own - write), total buffers allocated, and time of last statistics reset. + <entry>One row only, showing cluster-wide statistics. See + <xref linkend="pg-stat-bgwriter-view"> for more details. </entry> </row> <row> <entry><structname>pg_stat_database</><indexterm><primary>pg_stat_database</primary></indexterm></entry> - <entry>One row per database, showing database OID, database name, - number of active server processes connected to that database, - number of transactions committed and rolled back in that database, - total disk blocks read, total buffer hits (i.e., block - read requests avoided by finding the block already in buffer cache), - number of rows returned, fetched, inserted, updated and deleted, the - total number of queries canceled due to conflict with recovery (on - standby servers), number and size of temporary files used, total - number of deadlocks detected, and time of last statistics reset. - </entry> + <entry>One row per database, showing database wide statistics. See + <xref linkend="pg-stat-database-view"> for more 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 OID, database name and - the number of queries that have been canceled in this database due to - dropped tablespaces, lock timeouts, old snapshots, pinned buffers and - deadlocks. Will only contain information on standby servers, since - conflicts do not occur on master servers. + <entry> + One row per database showing database wide statistics about + query cancels due to conflict with recovery on standby servers. + Will only contain information on standby servers, since + conflicts do not occur on master servers. + See <xref linkend="pg-stat-database-conflicts-view"> for more details. </entry> </row> <row> <entry><structname>pg_stat_replication</><indexterm><primary>pg_stat_replication</primary></indexterm></entry> - <entry>One row per WAL sender process, showing process <acronym>ID</>, - user OID, user name, application name, client's address, host name - (if available) and port number, time at which the server process began - execution, and the current WAL sender state and transaction log - location. In addition, the standby reports the last transaction log - position it received and wrote, the last position it flushed to disk, - and the last position it replayed, and this information is also - displayed here. If the standby's application names matches one of the - settings in <varname>synchronous_standby_names</> then the sync_priority - is shown here also, that is the order in which standbys will become - the synchronous standby. The columns detailing what exactly the connection - is doing are only visible if the user examining the view is a superuser. - The client's host name will be available only if - <xref linkend="guc-log-hostname"> is set or if the user's host name - needed to be looked up during <filename>pg_hba.conf</filename> - processing. Only directly connected standbys are listed; no information - about downstream standby servers is recorded. + <entry>One row per WAL sender process, showing statistics about the + replication to this slave. See <xref linkend="pg-stat-replication-view"> + for more details. Only directly connected standbys are listed; no + information about downstream standby servers is recorded. </entry> </row> <row> <entry><structname>pg_stat_all_tables</><indexterm><primary>pg_stat_all_tables</primary></indexterm></entry> - <entry>For each table in the current database (including TOAST tables), - the table OID, schema and table name, number of sequential - scans initiated, number of live rows fetched by sequential - scans, number of index scans initiated (over all indexes - belonging to the table), number of live rows fetched by index - scans, numbers of row insertions, updates, and deletions, - number of row updates that were HOT (i.e., no separate index update), - numbers of live and dead rows, - the last time the table was non-<option>FULL</> vacuumed manually, - the last time it was vacuumed by the autovacuum daemon, - the last time it was analyzed manually, - the last time it was analyzed by the autovacuum daemon, - number of times it has been non-<option>FULL</> vacuumed manually, - number of times it has been vacuumed by the autovacuum daemon, - number of times it has been analyzed manually, - and the number of times it has been analyzed by the autovacuum daemon. + <entry> + One row for each table in the current database (including TOAST + tables) with information about accesses to this specific table. + See <xref linkend="pg-stat-all-tables-view"> for more details. </entry> </row> @@ -376,11 +337,10 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re <row> <entry><structname>pg_stat_all_indexes</><indexterm><primary>pg_stat_all_indexes</primary></indexterm></entry> - <entry>For each index in the current database, - the table and index OID, schema, table and index name, - number of index scans initiated on that index, number of - index entries returned by index scans, and number of live table rows - fetched by simple index scans using that index. + <entry> + One row for each index in the current database with information + about accesses to this specific index. + See <xref linkend="pg-stat-all-indexes-view"> for more details. </entry> </row> @@ -398,13 +358,10 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re <row> <entry><structname>pg_statio_all_tables</><indexterm><primary>pg_statio_all_tables</primary></indexterm></entry> - <entry>For each table in the current database (including TOAST tables), - the table OID, schema and table name, number of disk - blocks read from that table, number of buffer hits, numbers of - disk blocks read and buffer hits in all indexes of that table, - numbers of disk blocks read and buffer hits from that table's - auxiliary TOAST table (if any), and numbers of disk blocks read - and buffer hits for the TOAST table's index. + <entry> + One row for each table in the current database (including TOAST + tables) with information about I/O on this specific table. + See <xref linkend="pg-statio-all-tables-view"> for more details. </entry> </row> @@ -422,9 +379,10 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re <row> <entry><structname>pg_statio_all_indexes</><indexterm><primary>pg_statio_all_indexes</primary></indexterm></entry> - <entry>For each index in the current database, - the table and index OID, schema, table and index name, - numbers of disk blocks read and buffer hits in that index. + <entry> + One row for each index in the current database + with information about I/O on this specific index. + See <xref linkend="pg-statio-all-indexes-view"> for more details. </entry> </row> @@ -442,10 +400,11 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re <row> <entry><structname>pg_statio_all_sequences</><indexterm><primary>pg_statio_all_sequences</primary></indexterm></entry> - <entry>For each sequence object in the current database, - the sequence OID, schema and sequence name, - numbers of disk blocks read and buffer hits in that sequence. - </entry> + <entry> + One row for each sequence in the current database + with information about I/O on this specific sequence. + See <xref linkend="pg-statio-all-sequences-view"> for more details. + </entry> </row> <row> @@ -463,11 +422,11 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re <row> <entry><structname>pg_stat_user_functions</><indexterm><primary>pg_stat_user_functions</primary></indexterm></entry> - <entry>For all tracked functions, function OID, schema, name, number - of calls, total time, and self time. Self time is the - amount of time spent in the function itself, total time includes the - time spent in functions it called. Time values are in milliseconds. - </entry> + <entry> + One row for each tracked function (as specified by the + <xref linkend="guc-track-functions"> parameter). See + <xref linkend="pg-stat-user-functions-view"> for more details. + </entry> </row> <row> @@ -723,6 +682,824 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re </tgroup> </table> + <para> + The <structname>pg_stat_activity</structname> view will have one row + per server process, showing information related to each connection to + the server. + </para> + + <table id="pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter"> + <title>pg_stat_bgwriter view</title> + + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>checkpoints_timed</entry> + <entry><type>bigint</type></entry> + <entry>Number of scheduled checkpoints</entry> + </row> + <row> + <entry>checkpoints_requested</entry> + <entry><type>bigint</type></entry> + <entry>Number of requested checkpoints</entry> + </row> + <row> + <entry>buffers_checkpoint</entry> + <entry><type>bigint</type></entry> + <entry>Number of buffers written during checkpoints</entry> + </row> + <row> + <entry>buffers_clean</entry> + <entry><type>bigint</type></entry> + <entry>Number of buffers written by the background writer</entry> + </row> + <row> + <entry>maxwritten_clean</entry> + <entry><type>bigint</type></entry> + <entry>Number of times the background writer stopped a cleaning + scan because it had written too many buffers</entry> + </row> + <row> + <entry>buffers_backend</entry> + <entry><type>bigint</type></entry> + <entry>Number of buffers written directly by a backend</entry> + </row> + <row> + <entry>buffers_backend_fsync</entry> + <entry><type>bigint</type></entry> + <entry>Number of times a backend had to execute its own fsync + call (normally the background writer handles those even when the + backend does its own write)</entry> + </row> + <row> + <entry>buffers_alloc</entry> + <entry><type>bigint</type></entry> + <entry>Number of buffers allocated</entry> + </row> + <row> + <entry>stats_reset</entry> + <entry><type>bigint</type></entry> + <entry>The last time these statistics were reset</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_stat_bgwriter</structname> view will always have a + single row with global data for the cluster. + </para> + + <table id="pg-stat-database-view" xreflabel="pg_stat_database"> + <title>pg_stat_database view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>datid</entry> + <entry><type>oid</></entry> + <entry>The oid of the database</entry> + </row> + <row> + <entry>datname</entry> + <entry><type>name</></entry> + <entry>The name of the database</entry> + </row> + <row> + <entry>numbackends</entry> + <entry><type>integer</></entry> + <entry>The number of backends currently connected to this database. + This is the only column in this view that returns a value for the + current state, all other columns return the accumulated values since + the last reset.</entry> + </row> + <row> + <entry>xact_commit</entry> + <entry><type>bigint</></entry> + <entry>The number of transactions in this database that has committed</entry> + </row> + <row> + <entry>xact_rollback</entry> + <entry><type>bigint</></entry> + <entry>The number of transactions in this database that has rolled back</entry> + </row> + <row> + <entry>blks_read</entry> + <entry><type>bigint</></entry> + <entry>The number of disk blocks read in this database</entry> + </row> + <row> + <entry>blks_hits</entry> + <entry><type>bigint</></entry> + <entry>The number of disk blocks read from the buffer cache + (this only includes hits in the PostgreSQL buffer cache, and not + the operating system filesystem cache)</entry> + </row> + <row> + <entry>tup_returned</entry> + <entry><type>bigint</></entry> + <entry>The number of rows returned by queries in this database</entry> + </row> + <row> + <entry>tup_fetched</entry> + <entry><type>bigint</></entry> + <entry>The number of rows fetched by queries in this database</entry> + </row> + <row> + <entry>tup_inserted</entry> + <entry><type>bigint</></entry> + <entry>The number of rows inserted by queries in this database</entry> + </row> + <row> + <entry>tup_updated</entry> + <entry><type>bigint</></entry> + <entry>The number of rows updated by queries in this database</entry> + </row> + <row> + <entry>tup_deleted</entry> + <entry><type>bigint</></entry> + <entry>The number of rows deleted by queries in this database</entry> + </row> + <row> + <entry>conflicts</entry> + <entry><type>bigint</></entry> + <entry> + The number of queries canceled due to conflict with recovery + (on standby servers) in this database. (See + <xref linkend="pg-stat-database-conflicts-view"> for more details) + </entry> + </row> + <row> + <entry>temp_files</entry> + <entry><type>bigint</></entry> + <entry> + The number of temporary files written by queries in the database. + All temporary files are counted, regardless of why the temporary file + was created (sorting or hash) or file size, and regardless of the + <xref linkend="guc-log-temp-files"> setting. + </entry> + </row> + <row> + <entry>temp_bytes</entry> + <entry><type>bigint</></entry> + <entry> + The amount of data written to temporary files by queries in + the database. All temporary files are counted, regardless of why + the temporary file was created (sorting or hash) or file size, and + regardless of the <xref linkend="guc-log-temp-files"> setting. + </entry> + </row> + <row> + <entry>deadlocks</entry> + <entry><type>bigint</></entry> + <entry>Number of deadlocks detected in the database</entry> + </row> + <row> + <entry>stats_reset</entry> + <entry><type>timestamptz</></entry> + <entry>The last time the statistics were reset</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_stat_database</structname> view will contain one row + for each database in the cluster showing database wide statistics. + </para> + + <table id="pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts"> + <title>pg_stat_database_conflicts view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>datid</entry> + <entry><type>oid</></entry> + <entry>The oid of the database</entry> + </row> + <row> + <entry>datname</entry> + <entry><type>name</></entry> + <entry>The name of the database</entry> + </row> + <row> + <entry>confl_tablespace</entry> + <entry><type>bigint</></entry> + <entry>The number of queries that have been canceled due to + dropped tablespaces</entry> + </row> + <row> + <entry>confl_lock</entry> + <entry><type>bigint</></entry> + <entry>The number of queries that have been canceled due to + lock timeouts</entry> + </row> + <row> + <entry>confl_snapshot</entry> + <entry><type>bigint</></entry> + <entry>The number of queries that have been canceled due to + old snapshots</entry> + </row> + <row> + <entry>confl_bufferpin</entry> + <entry><type>bigint</></entry> + <entry>The number of queries that have been canceled due to + pinned buffers</entry> + </row> + <row> + <entry>confl_deadlock</entry> + <entry><type>bigint</></entry> + <entry>The number of queries 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 due to conflict with recovery on standby servers. + Will only contain information on standby servers, since + conflicts do not occur on master servers. + </para> + + <table id="pg-stat-replication-view" xreflabel="pg_stat_replication"> + <title>pg_stat_replication view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>pid</entry> + <entry><type>integer</></entry> + <entry>The process id of the WAL sender process</entry> + </row> + <row> + <entry>usesysid</entry> + <entry><type>oid</></entry> + <entry>The oid of the user logged into this WAL sender process</entry> + </row> + <row> + <entry>usename</entry> + <entry><type>name</></entry> + <entry>The name of the user logged into this WAL sender process</entry> + </row> + <row> + <entry>application_name</entry> + <entry><type>text</></entry> + <entry>The name of the application that has initiated the connection + to the WAL sender.</entry> + </row> + <row> + <entry>client_addr</entry> + <entry><type>inet</></entry> + <entry>The remote IP of the client connected to the WAL sender. + If this field is not set, it indicates that the client is + connected via a Unix socket on the server machine. + </entry> + </row> + <row> + <entry>client_hostname</entry> + <entry><type>text</></entry> + <entry> + If available, the hostname of the client as reported by a + reverse lookup of <structfield>client_addr</>. This field will + only be set when <xref linkend="guc-log-hostname"> is enabled. + </entry> + </row> + <row> + <entry>client_port</entry> + <entry><type>integer</></entry> + <entry> + The remote TCP port that the client is using for communication + to the , or <symbol>NULL</> if a unix socket is used. + </entry> + </row> + <row> + <entry>backend_start</entry> + <entry><type>timestamp with time zone</></entry> + <entry> + The time when this process was started, i.e. when the + client connected to the WAL sender. + </entry> + </row> + <row> + <entry>state</entry> + <entry><type>text</></entry> + <entry>Current WAL sender state</entry> + </row> + <row> + <entry>sent_location</entry> + <entry><type>text</></entry> + <entry>Last transaction log position sent on this connection</entry> + </row> + <row> + <entry>write_location</entry> + <entry><type>text</></entry> + <entry>Last transaction log position written to disk by the slave</entry> + </row> + <row> + <entry>flush_location</entry> + <entry><type>text</></entry> + <entry>Last transaction log position flushed to disk by the slave</entry> + </row> + <row> + <entry>replay_location</entry> + <entry><type>text</></entry> + <entry>Last transaction log position replayed into the database on the slave</entry> + </row> + <row> + <entry>sync_priority</entry> + <entry><type>int</></entry> + <entry> + The priority in the order which this slave will be picked as + the synchronous standby. + </entry> + </row> + <row> + <entry>sync_state</entry> + <entry><type>text</></entry> + <entry> + The synchronous state of this slave. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_stat_replication</structname> view will contain one row + per WAL sender process, showing statistics about the replication to this + slave. Only directly connected standbys are listed; no information about + downstream standby servers is recorded. + </para> + + <table id="pg-stat-all-tables-view" xreflabel="pg_stat_all_tables"> + <title>pg_stat_all_tables view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>relid</entry> + <entry><type>oid</></entry> + <entry>The OID of the table this row</entry> + </row> + <row> + <entry>schemaname</entry> + <entry><type>name</></entry> + <entry>The name of the schema that the table is in</entry> + </row> + <row> + <entry>relname</entry> + <entry><type>name</></entry> + <entry>The name of the table</entry> + </row> + <row> + <entry>seq_scan</entry> + <entry><type>bigint</></entry> + <entry>The number of sequential scans initiated on this table</entry> + </row> + <row> + <entry>seq_tup_read</entry> + <entry><type>bigint</></entry> + <entry>The number of live rows fetch by sequential scans</entry> + </row> + <row> + <entry>idx_scan</entry> + <entry><type>bigint</></entry> + <entry>The number of index scans initiated on this table</entry> + </row> + <row> + <entry>idx_tup_fetch</entry> + <entry><type>bigint</></entry> + <entry>The number of live rows fetch by index scans</entry> + </row> + <row> + <entry>n_tup_ins</entry> + <entry><type>bigint</></entry> + <entry>The number of rows inserted</entry> + </row> + <row> + <entry>n_tup_upd</entry> + <entry><type>bigint</></entry> + <entry>The number of rows updated</entry> + </row> + <row> + <entry>n_tup_del</entry> + <entry><type>bigint</></entry> + <entry>The number of rows deleted</entry> + </row> + <row> + <entry>n_tup_hot_upd</entry> + <entry><type>bigint</></entry> + <entry>The number of rows HOT (i.e., no separate index update) updated</entry> + </row> + <row> + <entry>n_live_tup</entry> + <entry><type>bigint</></entry> + <entry>The number of live rows</entry> + </row> + <row> + <entry>n_dead_tup</entry> + <entry><type>bigint</></entry> + <entry>The number of dead rows</entry> + </row> + <row> + <entry>last_vacuum</entry> + <entry><type>timestamp with time zone</></entry> + <entry>The last time the table was manually non-<option>FULL</> vacuumed</entry> + </row> + <row> + <entry>last_autovacuum</entry> + <entry><type>timestamp with time zone</></entry> + <entry>The last time the table was vacuumed by the autovacuum daemon</entry> + </row> + <row> + <entry>last_analyze</entry> + <entry><type>timestamp with time zone</></entry> + <entry>The last time the table was manually analyzed</entry> + </row> + <row> + <entry>last_autoanalyze</entry> + <entry><type>timestamp with time zone</></entry> + <entry>The last time the table was analyzed by the autovacuum daemon</entry> + </row> + <row> + <entry>vacuum_count</entry> + <entry><type>bigint</></entry> + <entry>The number of times this table has been manually non-<option>FULL</> vacuumed</entry> + </row> + <row> + <entry>autovacuum_count</entry> + <entry><type>bigint</></entry> + <entry>The number of times this table has been vacuumed by the autovacuum daemon</entry> + </row> + <row> + <entry>analyze_count</entry> + <entry><type>bigint</></entry> + <entry>The number of times this table has been manually analyzed</entry> + </row> + <row> + <entry>autoanalyze_count</entry> + <entry><type>bigint</></entry> + <entry>The number of times this table has been analyzed by the autovacuum daemon</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_stat_all_tables</structname> view will contain + one row for each table in the current database (including TOAST + tables) with information about accesses to this specific table. The + <structname>pg_stat_user_tables</structname> and + <structname>pg_stat_sys_tables</structname> contain the same information, + but filtered to only have rows for user and system tables. + </para> + + <table id="pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes"> + <title>pg_stat_all_indexes view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>relid</entry> + <entry><type>oid</></entry> + <entry>The OID of the table for this index</entry> + </row> + <row> + <entry>indexrelid</entry> + <entry><type>oid</></entry> + <entry>The OID of the index</entry> + </row> + <row> + <entry>schemaname</entry> + <entry><type>name</></entry> + <entry>The name of the schema the index is in</entry> + </row> + <row> + <entry>relname</entry> + <entry><type>name</></entry> + <entry>The name of the table for this index</entry> + </row> + <row> + <entry>indexrelname</entry> + <entry><type>name</></entry> + <entry>The name of the index</entry> + </row> + <row> + <entry>idx_scan</entry> + <entry><type>bigint</></entry> + <entry>Number of index scans initiated on this index</entry> + </row> + <row> + <entry>idx_tup_read</entry> + <entry><type>bigint</></entry> + <entry>Number of index entries returned by scans on this index</entry> + </row> + <row> + <entry>idx_tup_fetch</entry> + <entry><type>bigint</></entry> + <entry>Number of live table rows fetched by simple index scans using this index</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_stat_all_indexes</structname> view will contain + one row for each index in the current database + with information about accesses to this specific index. The + <structname>pg_stat_user_indexes</structname> and + <structname>pg_stat_sys_indexes</structname> contain the same information, + but filtered to only have rows for user and system indexes. + </para> + + <table id="pg-statio-all-tables-view" xreflabel="pg_statio_all_tables"> + <title>pg_statio_all_tables view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>relid</entry> + <entry><type>oid</></entry> + <entry>The OID of the table</entry> + </row> + <row> + <entry>schemaname</entry> + <entry><type>name</></entry> + <entry>The name of the schema that the table is in</entry> + </row> + <row> + <entry>relname</entry> + <entry><type>name</></entry> + <entry>The name of the table</entry> + </row> + <row> + <entry>heap_blks_read</entry> + <entry><type>name</></entry> + <entry>Number of disk blocks read from this table</entry> + </row> + <row> + <entry>heap_blks_hit</entry> + <entry><type>name</></entry> + <entry>Number of buffer hits in this table</entry> + </row> + <row> + <entry>idx_blks_read</entry> + <entry><type>name</></entry> + <entry>Number of disk blocks read from all indexes on this table</entry> + </row> + <row> + <entry>idx_blks_hit</entry> + <entry><type>name</></entry> + <entry>Number of buffer hits in all indexes of this table</entry> + </row> + <row> + <entry>toast_blks_read</entry> + <entry><type>name</></entry> + <entry>Number of disk blocks read from this table's TOAST table (if any)</entry> + </row> + <row> + <entry>toast_blks_hit</entry> + <entry><type>name</></entry> + <entry>Number of buffer hits in this table's TOAST table (if any)</entry> + </row> + <row> + <entry>tidx_blks_read</entry> + <entry><type>name</></entry> + <entry>Number of disk blocks read from this table's TOAST table index (if any)</entry> + </row> + <row> + <entry>tidx_blks_hit</entry> + <entry><type>name</></entry> + <entry>Number of buffer hits in this table's TOAST table index (if any)</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_statio_all_tables</structname> view will contain + one row for each table in the current database (including TOAST + tables) with information about I/O on this specific table. The + <structname>pg_statio_user_tables</structname> and + <structname>pg_statio_sys_tables</structname> contain the same information, + but filtered to only have rows for user and system tables. + </para> + + <table id="pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes"> + <title>pg_statio_all_indexes view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>relid</entry> + <entry><type>oid</></entry> + <entry>The OID of the table for this index</entry> + </row> + <row> + <entry>indexrelid</entry> + <entry><type>oid</></entry> + <entry>The OID of the index</entry> + </row> + <row> + <entry>schemaname</entry> + <entry><type>name</></entry> + <entry>The name of the schema the index is in</entry> + </row> + <row> + <entry>relname</entry> + <entry><type>name</></entry> + <entry>The name of the table for this index</entry> + </row> + <row> + <entry>indexrelname</entry> + <entry><type>name</></entry> + <entry>The name of the index</entry> + </row> + <row> + <entry>idx_blks_read</entry> + <entry><type>name</></entry> + <entry>Number of disk blocks read from the index</entry> + </row> + <row> + <entry>idx_blks_hit</entry> + <entry><type>name</></entry> + <entry>Number of buffer hits in the index</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_statio_all_indexes</structname> view will contain + one row for each index in the current database + with information about I/O on this specific index. The + <structname>pg_statio_user_indexes</structname> and + <structname>pg_statio_sys_indexes</structname> contain the same information, + but filtered to only have rows for user and system indexes. + </para> + + <table id="pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences"> + <title>pg_statio_all_sequences view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>relid</entry> + <entry><type>oid</></entry> + <entry>The OID of the sequence</entry> + </row> + <row> + <entry>schemaname</entry> + <entry><type>name</></entry> + <entry>The name of the schema the sequence is in</entry> + </row> + <row> + <entry>relname</entry> + <entry><type>name</></entry> + <entry>The name of the sequence</entry> + </row> + <row> + <entry>blks_read</entry> + <entry><type>name</></entry> + <entry>Number of disk blocks read from the sequence</entry> + </row> + <row> + <entry>blks_hit</entry> + <entry><type>name</></entry> + <entry>Number of buffer hits in the sequence</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_statio_all_indexes</structname> view will contain + one row for each sequence in the current database + with information about I/O on this specific sequence. + </para> + + <table id="pg-stat-user-functions-view" xreflabel="pg_stat_user_functions"> + <title>pg_stat_user_functions view</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Column</entry> + <entry>Type</entry> + <entry>Description</entry> + </row> + </thead> + + <tbody> + <row> + <entry>funcid</entry> + <entry><type>oid</></entry> + <entry>The OID of the function</entry> + </row> + <row> + <entry>schemaname</entry> + <entry><type>name</></entry> + <entry>The name of the schema the function is in</entry> + </row> + <row> + <entry>funcname</entry> + <entry><type>name</></entry> + <entry>The name of the function</entry> + </row> + <row> + <entry>calls</entry> + <entry><type>bigint</></entry> + <entry>Number of times the function has been called</entry> + </row> + <row> + <entry>total_time</entry> + <entry><type>bigint</></entry> + <entry>Total time spent in this functions and all other functions + called by it, in milliseconds.</entry> + </row> + <row> + <entry>self_time</entry> + <entry><type>bigint</></entry> + <entry>Total time spent in this functions itself but not including + other functions called by it, in milliseconds.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para> + The <structname>pg_stat_user_functions</structname> view will contain + one row for each tracked function (as specified by the + <xref linkend="guc-track-functions"> parameter). + </para> + <sect3 id="monitoring-stats-functions"> <title>Statistics Access Functions</title>