SELECT i.oid AS indexrelid, c.oid AS relid, i.reltablespace, i.relname AS indexrelname, i.relam, i.relpages, i.reltuples, i.reloptions, x.indisunique, x.indisprimary, x.indisclustered, x.indisvalid, x.indkey, display full query string
2
0.016
0.008
2
0.002
0.001
0
0
pg18
postgres
SELECT s.funcid, n.oid AS nspid, s.funcname, pg_catalog.pg_get_function_arguments(funcid) AS argtypes, s.calls, s.total_time, s.self_time FROM pg_stat_user_functions s JOIN pg_namespace n ON s.schemaname = n.nspname WHERE n.nspname <> ALL (($2 || display full query string
2
0.016
0.008
2
0.001
0.001
0
0
pg18
postgres
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, pg_catalog.max(x.indexrelid) AS reltoastidxid, /*should be only one non-null indexrelid.*/ c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relat display full query string
COPY statsrepo.function FROM STDIN with(NULL 'null')
4
0.011
0.003
0
0.000
0
0
0
pg18
postgres
SELECT d.oid AS dbid, d.datname, pg_catalog.pg_database_size(d.oid), CASE WHEN pg_catalog.pg_is_in_recovery() THEN $2 ELSE pg_catalog.age(d.datfrozenxid) END, pg_catalog.pg_stat_get_db_xact_commit(d.oid) AS xact_commit, pg_catalog.pg_stat_get_db_xact display full query string
3
0.011
0.004
3
0.008
0.003
0
0
pg18
postgres
SELECT pg_catalog.sum(pg_catalog.pg_relation_size(oid)) FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = $1)
2
0.010
0.005
2
0.002
0.001
0
0
pg18
postgres
SELECT name, setting, unit, source FROM pg_settings WHERE source NOT IN ($1 /*, ... */) AND setting <> boot_val
2
0.009
0.005
2
0.000
0.000
0
0
Statements Resource Usage
User
Database
Plan
Execute
Query
reads (Bytes)
writes (Bytes)
user time (s)
system time (s)
reads (Bytes)
writes (Bytes)
user time (s)
system time (s)
pg18
bench
0
0
18.633538
1.215514
0
0
57.871603
2.870563
UPDATE pgbench_branches SET bbalance = bbalance + $1 WHERE bid = $2
pg18
bench
0
0
19.633627
1.173024
0
0
53.201659
2.378254
UPDATE pgbench_tellers SET tbalance = tbalance + $1 WHERE tid = $2
pg18
bench
0
0
20.298168
1.904374
0
0
62.446398
3.459194
UPDATE pgbench_accounts SET abalance = abalance + $1 WHERE aid = $2
pg18
bench
0
0
18.629312
1.194047
0
0
34.654517
1.743031
SELECT abalance FROM pgbench_accounts WHERE aid = $1
SELECT i.oid AS indexrelid, c.oid AS relid, i.reltablespace, i.relname AS indexrelname, i.relam, i.relpages, i.reltuples, i.reloptions, x.indisunique, x.indisprimary, x.indisclustered, x.indisvalid, x.indkey, display full query string
pg18
postgres
0
0
0.003132
0.000199
0
0
0.013051
0.000902
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, pg_catalog.max(x.indexrelid) AS reltoastidxid, /*should be only one non-null indexrelid.*/ c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relat display full query string
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, pg_catalog.max(x.indexrelid) AS reltoastidxid, /*should be only one non-null indexrelid.*/ c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relat display full query string
SELECT s.funcid, n.oid AS nspid, s.funcname, pg_catalog.pg_get_function_arguments(funcid) AS argtypes, s.calls, s.total_time, s.self_time FROM pg_stat_user_functions s JOIN pg_namespace n ON s.schemaname = n.nspname WHERE n.nspname <> ALL (($2 || display full query string
Update on pgbench_tellers (cost=0.15..8.17 rows=0 width=0)
Disabled: false
-> Index Scan using pgbench_tellers_pkey on pgbench_tellers (cost=0.15..8.17 rows=1 width=10)
Index Cond: (tid = 37)
Disabled: false
Update on pgbench_accounts (cost=0.42..8.45 rows=0 width=0)
Disabled: false
-> Index Scan using pgbench_accounts_pkey on pgbench_accounts (cost=0.42..8.45 rows=1 width=10)
Index Cond: (aid = 215845)
Disabled: false
SELECT d.oid AS dbid, d.datname, pg_catalog.pg_database_size(d.oid), CASE WHEN pg_catalog.pg_is_in_recovery() THEN $2 ELSE pg_catalog.age(d.datfrozenxid) END, pg_catalog.pg_stat_get_db_xact_commit(d.oid) AS xact_commit, pg_catalog.pg_stat_get_db_xact display full query string
Function Scan on pg_show_all_settings a (cost=0.00..16.25 rows=980 width=128)
Disabled: false
Filter: ((setting <> boot_val) AND (source <> ALL ('{client,default,session}'::text[])))
SELECT s.funcid, n.oid AS nspid, s.funcname, pg_catalog.pg_get_function_arguments(funcid) AS argtypes, s.calls, s.total_time, s.self_time FROM pg_stat_user_functions s JOIN pg_namespace n ON s.schemaname = n.nspname WHERE n.nspname <> ALL (($2 || display full query string
SELECT i.oid AS indexrelid, c.oid AS relid, i.reltablespace, i.relname AS indexrelname, i.relam, i.relpages, i.reltuples, i.reloptions, x.indisunique, x.indisprimary, x.indisclustered, x.indisvalid, x.indkey, pg_catalog.pg_get_indexdef(i.oid), pg_catalog.pg_relation_size(i.oid), pg_catalog.pg_stat_get_numscans(i.oid) AS idx_scan, pg_catalog.pg_stat_get_tuples_returned(i.oid) AS idx_tup_read, pg_catalog.pg_stat_get_tuples_fetched(i.oid) AS idx_tup_fetch, pg_catalog.pg_stat_get_blocks_fetched(i.oid) - pg_catalog.pg_stat_get_blocks_hit(i.oid) AS idx_blks_read, pg_catalog.pg_stat_get_blocks_hit(i.oid) AS idx_blks_hit FROM pg_class c JOIN pg_index x ON c.oid = x.indrelid JOIN pg_class i ON i.oid = x.indexrelid JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ($1 /*, ... */) AND n.nspname <> ALL (($2 || $3 || $4)::text[])
SELECT s.funcid, n.oid AS nspid, s.funcname, pg_catalog.pg_get_function_arguments(funcid) AS argtypes, s.calls, s.total_time, s.self_time FROM pg_stat_user_functions s JOIN pg_namespace n ON s.schemaname = n.nspname WHERE n.nspname <> ALL (($2 || $1 || $3)::text[])
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, pg_catalog.max(x.indexrelid) AS reltoastidxid, /*should be only one non-null indexrelid.*/ c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relation_size(c.oid), pg_catalog.pg_stat_get_numscans(c.oid) AS seq_scan, pg_catalog.pg_stat_get_tuples_returned(c.oid) AS seq_tup_read, pg_catalog.sum(pg_catalog.pg_stat_get_numscans(i.indexrelid))::bigint AS idx_scan, pg_catalog.sum(pg_catalog.pg_stat_get_tuples_fetched(i.indexrelid))::bigint + pg_catalog.pg_stat_get_tuples_fetched(c.oid) AS idx_tup_fetch, pg_catalog.pg_stat_get_tuples_inserted(c.oid) AS n_tup_ins, pg_catalog.pg_stat_get_tuples_updated(c.oid) AS n_tup_upd, pg_catalog.pg_stat_get_tuples_deleted(c.oid) AS n_tup_del, pg_catalog.pg_stat_get_tuples_hot_updated(c.oid) AS n_tup_hot_upd, pg_catalog.pg_stat_get_live_tuples(c.oid) AS n_live_tup, pg_catalog.pg_stat_get_dead_tuples(c.oid) AS n_dead_tup, pg_catalog.pg_stat_get_mod_since_analyze(c.oid) AS n_mod_since_analyze, pg_catalog.pg_stat_get_blocks_fetched(c.oid) - pg_catalog.pg_stat_get_blocks_hit(c.oid) AS heap_blks_read, pg_catalog.pg_stat_get_blocks_hit(c.oid) AS heap_blks_hit, pg_catalog.sum(pg_catalog.pg_stat_get_blocks_fetched(i.indexrelid) - pg_catalog.pg_stat_get_blocks_hit(i.indexrelid))::bigint AS idx_blks_read, pg_catalog.sum(pg_catalog.pg_stat_get_blocks_hit(i.indexrelid))::bigint AS idx_blks_hit, pg_catalog.pg_stat_get_blocks_fetched( pg_catalog.max(t.oid) ) - pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(t.oid) ) AS toast_blks_read, /* should be only one non-null oid */ pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(t.oid) ) AS toast_blks_hit, /* should be only one non-null oid */ pg_catalog.pg_stat_get_blocks_fetched( pg_catalog.max(x.indexrelid) ) - pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(x.indexrelid) ) AS tidx_blks_read, /* should be only one non-null indexrelid. */ pg_catalog.pg_stat_get_blocks_hit(pg_catalog.max( x.indexrelid )) AS tidx_blks_hit, /* should be only one non-null indexrelid. */ pg_catalog.pg_stat_get_last_vacuum_time(c.oid) as last_vacuum, pg_catalog.pg_stat_get_last_autovacuum_time(c.oid) as last_autovacuum, pg_catalog.pg_stat_get_last_analyze_time(c.oid) as last_analyze, pg_catalog.pg_stat_get_last_autoanalyze_time(c.oid) as last_autoanalyze FROM pg_class c LEFT JOIN pg_index i ON c.oid = i.indrelid LEFT JOIN pg_class t ON c.reltoastrelid = t.oid LEFT JOIN pg_index x ON c.reltoastrelid = x.indrelid LEFT JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relkind IN ($1 /*, ... */) AND n.nspname <> ALL (($2 || $3 || $4)::text[]) AND (i.indisvalid = $5 OR i.indisvalid IS NULL) AND (x.indisvalid = $6 OR x.indisvalid IS NULL) GROUP BY c.oid
SELECT d.oid AS dbid, d.datname, pg_catalog.pg_database_size(d.oid), CASE WHEN pg_catalog.pg_is_in_recovery() THEN $2 ELSE pg_catalog.age(d.datfrozenxid) END, pg_catalog.pg_stat_get_db_xact_commit(d.oid) AS xact_commit, pg_catalog.pg_stat_get_db_xact_rollback(d.oid) AS xact_rollback, pg_catalog.pg_stat_get_db_blocks_fetched(d.oid) - pg_catalog.pg_stat_get_db_blocks_hit(d.oid) AS blks_read, pg_catalog.pg_stat_get_db_blocks_hit(d.oid) AS blks_hit, pg_catalog.pg_stat_get_db_tuples_returned(d.oid) AS tup_returned, pg_catalog.pg_stat_get_db_tuples_fetched(d.oid) AS tup_fetched, pg_catalog.pg_stat_get_db_tuples_inserted(d.oid) AS tup_inserted, pg_catalog.pg_stat_get_db_tuples_updated(d.oid) AS tup_updated, pg_catalog.pg_stat_get_db_tuples_deleted(d.oid) AS tup_deleted, pg_catalog.pg_stat_get_db_conflict_tablespace(d.oid) AS confl_tablespace, pg_catalog.pg_stat_get_db_conflict_lock(d.oid) AS confl_lock, pg_catalog.pg_stat_get_db_conflict_snapshot(d.oid) AS confl_snapshot, pg_catalog.pg_stat_get_db_conflict_bufferpin(d.oid) AS confl_bufferpin, pg_catalog.pg_stat_get_db_conflict_startup_deadlock(d.oid) AS confl_deadlock, pg_catalog.pg_stat_get_db_temp_files(d.oid) AS temp_files, pg_catalog.pg_stat_get_db_temp_bytes(d.oid) AS temp_bytes, pg_catalog.pg_stat_get_db_deadlocks(d.oid) AS deadlocks, pg_catalog.pg_stat_get_db_blk_read_time(d.oid) AS blk_read_time, pg_catalog.pg_stat_get_db_blk_write_time(d.oid) AS blk_write_time FROM pg_database d WHERE datallowconn AND datname <> ALL (($3 || $1 || $4)::text[]) ORDER BY dbid
SELECT i.oid AS indexrelid, c.oid AS relid, i.reltablespace, i.relname AS indexrelname, i.relam, i.relpages, i.reltuples, i.reloptions, x.indisunique, x.indisprimary, x.indisclustered, x.indisvalid, x.indkey, pg_catalog.pg_get_indexdef(i.oid), pg_catalog.pg_relation_size(i.oid), pg_catalog.pg_stat_get_numscans(i.oid) AS idx_scan, pg_catalog.pg_stat_get_tuples_returned(i.oid) AS idx_tup_read, pg_catalog.pg_stat_get_tuples_fetched(i.oid) AS idx_tup_fetch, pg_catalog.pg_stat_get_blocks_fetched(i.oid) - pg_catalog.pg_stat_get_blocks_hit(i.oid) AS idx_blks_read, pg_catalog.pg_stat_get_blocks_hit(i.oid) AS idx_blks_hit FROM pg_class c JOIN pg_index x ON c.oid = x.indrelid JOIN pg_class i ON i.oid = x.indexrelid JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ($1 /*, ... */) AND n.nspname <> ALL (($2 || $3 || $4)::text[])
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, pg_catalog.max(x.indexrelid) AS reltoastidxid, /*should be only one non-null indexrelid.*/ c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relation_size(c.oid), pg_catalog.pg_stat_get_numscans(c.oid) AS seq_scan, pg_catalog.pg_stat_get_tuples_returned(c.oid) AS seq_tup_read, pg_catalog.sum(pg_catalog.pg_stat_get_numscans(i.indexrelid))::bigint AS idx_scan, pg_catalog.sum(pg_catalog.pg_stat_get_tuples_fetched(i.indexrelid))::bigint + pg_catalog.pg_stat_get_tuples_fetched(c.oid) AS idx_tup_fetch, pg_catalog.pg_stat_get_tuples_inserted(c.oid) AS n_tup_ins, pg_catalog.pg_stat_get_tuples_updated(c.oid) AS n_tup_upd, pg_catalog.pg_stat_get_tuples_deleted(c.oid) AS n_tup_del, pg_catalog.pg_stat_get_tuples_hot_updated(c.oid) AS n_tup_hot_upd, pg_catalog.pg_stat_get_live_tuples(c.oid) AS n_live_tup, pg_catalog.pg_stat_get_dead_tuples(c.oid) AS n_dead_tup, pg_catalog.pg_stat_get_mod_since_analyze(c.oid) AS n_mod_since_analyze, pg_catalog.pg_stat_get_blocks_fetched(c.oid) - pg_catalog.pg_stat_get_blocks_hit(c.oid) AS heap_blks_read, pg_catalog.pg_stat_get_blocks_hit(c.oid) AS heap_blks_hit, pg_catalog.sum(pg_catalog.pg_stat_get_blocks_fetched(i.indexrelid) - pg_catalog.pg_stat_get_blocks_hit(i.indexrelid))::bigint AS idx_blks_read, pg_catalog.sum(pg_catalog.pg_stat_get_blocks_hit(i.indexrelid))::bigint AS idx_blks_hit, pg_catalog.pg_stat_get_blocks_fetched( pg_catalog.max(t.oid) ) - pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(t.oid) ) AS toast_blks_read, /* should be only one non-null oid */ pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(t.oid) ) AS toast_blks_hit, /* should be only one non-null oid */ pg_catalog.pg_stat_get_blocks_fetched( pg_catalog.max(x.indexrelid) ) - pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(x.indexrelid) ) AS tidx_blks_read, /* should be only one non-null indexrelid. */ pg_catalog.pg_stat_get_blocks_hit(pg_catalog.max( x.indexrelid )) AS tidx_blks_hit, /* should be only one non-null indexrelid. */ pg_catalog.pg_stat_get_last_vacuum_time(c.oid) as last_vacuum, pg_catalog.pg_stat_get_last_autovacuum_time(c.oid) as last_autovacuum, pg_catalog.pg_stat_get_last_analyze_time(c.oid) as last_analyze, pg_catalog.pg_stat_get_last_autoanalyze_time(c.oid) as last_autoanalyze FROM pg_class c LEFT JOIN pg_index i ON c.oid = i.indrelid LEFT JOIN pg_class t ON c.reltoastrelid = t.oid LEFT JOIN pg_index x ON c.reltoastrelid = x.indrelid LEFT JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relkind IN ($1 /*, ... */) AND n.nspname <> ALL (($2 || $3 || $4)::text[]) AND (i.indisvalid = $5 OR i.indisvalid IS NULL) AND (x.indisvalid = $6 OR x.indisvalid IS NULL) GROUP BY c.oid
HashAggregate (cost=65.87..69.07 rows=32 width=334)
Group Key: c.oid
Disabled: false
Planned Partitions: 0
-> Hash Left Join (cost=37.81..64.83 rows=32 width=150)
Hash Cond: (c.reltoastrelid = x.indrelid)
Disabled: false
Filter: (x.indisvalid OR (x.indisvalid IS NULL))
-> Nested Loop Left (cost=26.32..52.71 rows=32 width=146)
Disabled: false
-> Hash Right Join (cost=26.05..35.55 rows=32 width=142)
Hash Cond: (i.indrelid = c.oid)
Disabled: false
Filter: (i.indisvalid OR (i.indisvalid IS NULL))
-> Seq Scan on pg_index i (cost=0.00..8.44 rows=244 width=9)
Disabled: false
-> Hash (cost=25.65..25.65 rows=32 width=138)
Disabled: false
-> Hash Left Join (cost=1.09..25.65 rows=32 width=138)
Hash Cond: (c.relnamespace = n.oid)
Disabled: false
Filter: (n.nspname <> ALL (('{pg_catalog,pg_toast,information_schema}'::cstring)::text[]))
-> Seq Scan on pg_class c (cost=0.00..23.30 rows=130 width=138)
Disabled: false
Filter: (relkind = ANY ('{r,t}'::"char"[]))
-> Hash (cost=1.04..1.04 rows=4 width=68)
Disabled: false
-> Seq Scan on pg_namespace n (cost=0.00..1.04 rows=4 width=68)
Disabled: false
-> Index Only Scan using pg_class_oid_index on pg_class t (cost=0.27..0.54 rows=1 width=4)
Index Cond: (oid = c.reltoastrelid)
Disabled: false
-> Hash (cost=8.44..8.44 rows=244 width=9)
Disabled: false
-> Seq Scan on pg_index x (cost=0.00..8.44 rows=244 width=9)
Disabled: false
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, pg_catalog.max(x.indexrelid) AS reltoastidxid, /*should be only one non-null indexrelid.*/ c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relation_size(c.oid), pg_catalog.pg_stat_get_numscans(c.oid) AS seq_scan, pg_catalog.pg_stat_get_tuples_returned(c.oid) AS seq_tup_read, pg_catalog.sum(pg_catalog.pg_stat_get_numscans(i.indexrelid))::bigint AS idx_scan, pg_catalog.sum(pg_catalog.pg_stat_get_tuples_fetched(i.indexrelid))::bigint + pg_catalog.pg_stat_get_tuples_fetched(c.oid) AS idx_tup_fetch, pg_catalog.pg_stat_get_tuples_inserted(c.oid) AS n_tup_ins, pg_catalog.pg_stat_get_tuples_updated(c.oid) AS n_tup_upd, pg_catalog.pg_stat_get_tuples_deleted(c.oid) AS n_tup_del, pg_catalog.pg_stat_get_tuples_hot_updated(c.oid) AS n_tup_hot_upd, pg_catalog.pg_stat_get_live_tuples(c.oid) AS n_live_tup, pg_catalog.pg_stat_get_dead_tuples(c.oid) AS n_dead_tup, pg_catalog.pg_stat_get_mod_since_analyze(c.oid) AS n_mod_since_analyze, pg_catalog.pg_stat_get_blocks_fetched(c.oid) - pg_catalog.pg_stat_get_blocks_hit(c.oid) AS heap_blks_read, pg_catalog.pg_stat_get_blocks_hit(c.oid) AS heap_blks_hit, pg_catalog.sum(pg_catalog.pg_stat_get_blocks_fetched(i.indexrelid) - pg_catalog.pg_stat_get_blocks_hit(i.indexrelid))::bigint AS idx_blks_read, pg_catalog.sum(pg_catalog.pg_stat_get_blocks_hit(i.indexrelid))::bigint AS idx_blks_hit, pg_catalog.pg_stat_get_blocks_fetched( pg_catalog.max(t.oid) ) - pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(t.oid) ) AS toast_blks_read, /* should be only one non-null oid */ pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(t.oid) ) AS toast_blks_hit, /* should be only one non-null oid */ pg_catalog.pg_stat_get_blocks_fetched( pg_catalog.max(x.indexrelid) ) - pg_catalog.pg_stat_get_blocks_hit( pg_catalog.max(x.indexrelid) ) AS tidx_blks_read, /* should be only one non-null indexrelid. */ pg_catalog.pg_stat_get_blocks_hit(pg_catalog.max( x.indexrelid )) AS tidx_blks_hit, /* should be only one non-null indexrelid. */ pg_catalog.pg_stat_get_last_vacuum_time(c.oid) as last_vacuum, pg_catalog.pg_stat_get_last_autovacuum_time(c.oid) as last_autovacuum, pg_catalog.pg_stat_get_last_analyze_time(c.oid) as last_analyze, pg_catalog.pg_stat_get_last_autoanalyze_time(c.oid) as last_autoanalyze FROM pg_class c LEFT JOIN pg_index i ON c.oid = i.indrelid LEFT JOIN pg_class t ON c.reltoastrelid = t.oid LEFT JOIN pg_index x ON c.reltoastrelid = x.indrelid LEFT JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relkind IN ($1 /*, ... */) AND n.nspname <> ALL (($2 || $3 || $4)::text[]) AND (i.indisvalid = $5 OR i.indisvalid IS NULL) AND (x.indisvalid = $6 OR x.indisvalid IS NULL) GROUP BY c.oid
Nested Loop (cost=0.00..177.87 rows=42 width=128)
Join Filter: (p.pronamespace = n.oid)
Disabled: false
-> Seq Scan on pg_namespace n (cost=0.00..1.11 rows=1 width=68)
Disabled: false
Filter: (nspname <> ALL (('{pg_catalog,pg_toast,information_schema}'::cstring)::text[]))
-> Seq Scan on pg_proc p (cost=0.00..174.22 rows=170 width=72)
Disabled: false
Filter: ((prolang <> '12'::oid) AND (pg_stat_get_function_calls(oid) IS NOT NULL))
SELECT s.funcid, n.oid AS nspid, s.funcname, pg_catalog.pg_get_function_arguments(funcid) AS argtypes, s.calls, s.total_time, s.self_time FROM pg_stat_user_functions s JOIN pg_namespace n ON s.schemaname = n.nspname WHERE n.nspname <> ALL (($2 || $1 || $3)::text[])
Nested Loop (cost=25.79..45.53 rows=16 width=248)
Disabled: false
-> Hash Join (cost=25.52..35.02 rows=16 width=39)
Hash Cond: (x.indrelid = c.oid)
Disabled: false
-> Seq Scan on pg_index x (cost=0.00..8.44 rows=244 width=39)
Disabled: false
-> Hash (cost=25.12..25.12 rows=32 width=4)
Disabled: false
-> Hash Join (cost=1.12..25.12 rows=32 width=4)
Hash Cond: (c.relnamespace = n.oid)
Disabled: false
-> Seq Scan on pg_class c (cost=0.00..23.30 rows=130 width=8)
Disabled: false
Filter: (relkind = ANY ('{r,t}'::"char"[]))
-> Hash (cost=1.11..1.11 rows=1 width=4)
Disabled: false
-> Seq Scan on pg_namespace n (cost=0.00..1.11 rows=1 width=4)
Disabled: false
Filter: (nspname <> ALL (('{pg_catalog,pg_toast,information_schema}'::cstring)::text[]))
-> Index Scan using pg_class_oid_index on pg_class i (cost=0.27..0.63 rows=1 width=133)
Index Cond: (oid = x.indexrelid)
Disabled: false
SELECT i.oid AS indexrelid, c.oid AS relid, i.reltablespace, i.relname AS indexrelname, i.relam, i.relpages, i.reltuples, i.reloptions, x.indisunique, x.indisprimary, x.indisclustered, x.indisvalid, x.indkey, pg_catalog.pg_get_indexdef(i.oid), pg_catalog.pg_relation_size(i.oid), pg_catalog.pg_stat_get_numscans(i.oid) AS idx_scan, pg_catalog.pg_stat_get_tuples_returned(i.oid) AS idx_tup_read, pg_catalog.pg_stat_get_tuples_fetched(i.oid) AS idx_tup_fetch, pg_catalog.pg_stat_get_blocks_fetched(i.oid) - pg_catalog.pg_stat_get_blocks_hit(i.oid) AS idx_blks_read, pg_catalog.pg_stat_get_blocks_hit(i.oid) AS idx_blks_hit FROM pg_class c JOIN pg_index x ON c.oid = x.indrelid JOIN pg_class i ON i.oid = x.indexrelid JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ($1 /*, ... */) AND n.nspname <> ALL (($2 || $3 || $4)::text[])
Result (cost=1.12..1.19 rows=1 width=232)
Disabled: false
-> Sort (cost=1.12..1.12 rows=1 width=224)
Sort Key: oid
Disabled: false
-> Seq Scan on pg_database d (cost=0.00..1.11 rows=1 width=224)
Disabled: false
Filter: (datallowconn AND (datname <> ALL (('{template0, template1}'::cstring)::text[])))
SELECT d.oid AS dbid, d.datname, pg_catalog.pg_database_size(d.oid), CASE WHEN pg_catalog.pg_is_in_recovery() THEN $2 ELSE pg_catalog.age(d.datfrozenxid) END, pg_catalog.pg_stat_get_db_xact_commit(d.oid) AS xact_commit, pg_catalog.pg_stat_get_db_xact_rollback(d.oid) AS xact_rollback, pg_catalog.pg_stat_get_db_blocks_fetched(d.oid) - pg_catalog.pg_stat_get_db_blocks_hit(d.oid) AS blks_read, pg_catalog.pg_stat_get_db_blocks_hit(d.oid) AS blks_hit, pg_catalog.pg_stat_get_db_tuples_returned(d.oid) AS tup_returned, pg_catalog.pg_stat_get_db_tuples_fetched(d.oid) AS tup_fetched, pg_catalog.pg_stat_get_db_tuples_inserted(d.oid) AS tup_inserted, pg_catalog.pg_stat_get_db_tuples_updated(d.oid) AS tup_updated, pg_catalog.pg_stat_get_db_tuples_deleted(d.oid) AS tup_deleted, pg_catalog.pg_stat_get_db_conflict_tablespace(d.oid) AS confl_tablespace, pg_catalog.pg_stat_get_db_conflict_lock(d.oid) AS confl_lock, pg_catalog.pg_stat_get_db_conflict_snapshot(d.oid) AS confl_snapshot, pg_catalog.pg_stat_get_db_conflict_bufferpin(d.oid) AS confl_bufferpin, pg_catalog.pg_stat_get_db_conflict_startup_deadlock(d.oid) AS confl_deadlock, pg_catalog.pg_stat_get_db_temp_files(d.oid) AS temp_files, pg_catalog.pg_stat_get_db_temp_bytes(d.oid) AS temp_bytes, pg_catalog.pg_stat_get_db_deadlocks(d.oid) AS deadlocks, pg_catalog.pg_stat_get_db_blk_read_time(d.oid) AS blk_read_time, pg_catalog.pg_stat_get_db_blk_write_time(d.oid) AS blk_write_time FROM pg_database d WHERE datallowconn AND datname <> ALL (($3 || $1 || $4)::text[]) ORDER BY dbid
SELECT s.funcid, n.oid AS nspid, s.funcname, pg_catalog.pg_get_function_arguments(funcid) AS argtypes, s.calls, s.total_time, s.self_time FROM pg_stat_user_functions s JOIN pg_namespace n ON s.schemaname = n.nspname WHERE n.nspname <> ALL (($2 || $1 || $3)::text[])
[database name] size: Size of the database in bytes.
This table provides summarized information about resource consumption during query-planning and execution in per-database basis.
Database: Database name
Plan: Planning-time resource usage
reads (Bytes): Amount of data read from disk during query planning. (Bytes)
writes (Bytes): Amount of data written to disk during query planning. (Bytes)
user time (s): User CPU time spent on query planning. (s)
system time (s): System CPU time spent on query planning. (s)
Execute: Execution-time resource usage
reads (Bytes): Amount of data read from disk during query execution. (Bytes)
writes (Bytes): Amount of data written to disk during query execution. (Bytes)
user time (s): User CPU time spent on query exeuction. (s)
system time (s): System CPU time spent on query execution. (s)
This table shows the number of canceled queries for every database due to conflict with some activities on master during this report period. This table have values only when the instance is a standby server.
Database: Database name
On tablespaces: Number of queries that have been canceled due to dropped table space.
On locks: Number of queries that have been canceled due to lock timeouts.
On snapshots: Number of queries that have been canceled due to old snapshots.
On bufferpins: Number of queries that have been canceled due to pinned buffers.
On deadlocks: Number of queries that have been canceled due to deadlocks.
How to see a Wait Sampling per Database table.
Database : Name of the database this backend is connected to.
Event type : The type of event for which the backend is waiting.
Event : Wait event name if backend is currently waiting.
Count : The number of samples.
Ratio : Ratio within each database.
Row number : Row number within each database.(Top 10)
This table shows the overview of Write Ahead Logs.
Total size (MiB): Total size of write ahead log (WAL or XLOG, stands on
transactions log) written out during this report period in MiB
Average output rate (MiB/s): Average output rate of WAL throughout this report period in MiB/s
Number of archived files: Number of successfully archived WAL segment files during this report period
Number of archiving errors: Number of WAL archiving errors occurred during this report period
Latest WAL file: File name of the WAL segment file currently written to
Last archived file: File name of the WAL segment file most recently archived
This graph shows the trend of the rate of WAL output. One of the
lines shows amount of WAL written during every snapshot interval and
the another shows the amount divided by the snapshot interval.
Axes
Horizontal axis: Time
Left side vertical axis: Axis for Bytes/snapshot shown below.
Right side vertical axis: Axis for write rate shown below.
Legend
Bytes/snapshot: Amount of WAL written during every snapshot interval in bytes.
Write rate: Average write rate of WAL for every snapshot interval in bytes/s
This graph shows the trend of the WAL generated. One of the lines shows number of WAl full page images generated during every snapshot interval and the another shows the amount of WAL generated in bytes during every snapshot interval.
Axes
Horizontal axis: time
Left side vertical axis: Number of WAL full page images generated.
Right side vertical axis: Amount of WAL generated in bytes.
Legend
WAL full page images: WAL full page images generated.
WAL bytes: Amount of WAL generated.
This graph shows the trend of number of times WAL data was written to disk because WAL buffers became full during every shapshot interval.
Axes
Horizontal axis: time
Vertical axis: Number of times WAL buffers full.
Legend
WAL buffers full: Number of times WAL buffers full.
This graph shows the trend of I/O request during every snapshot interval.
Axes
Horizontal axis: time
Vertical axis: Number of times I/O request.
Legend
WAL write: Number of WAL write request.
WAL sync: Number of WAL sync request.
This graph shows the trend of total amount of I/O time during every snapshot interval.
Axes
Horizontal axis: time
Vertical axis: Amount of I/O time (ms)
Legend
WAL write time: Total amount of time spent writing WAL.
WAL sync time: Total amount of time spent syncing WAL.
This table shows the average percentage of time the backends spend in different state throughout this report period.
idle: Average percentage of time spent by the backends waiting a new client command throughout this report period
idle in xact: Average percentage of time spent by the backends waiting a command in a transaction throughout this report period
waiting: Average percentage of time spent by the backends waiting on a lock throughout this report period
running: Average percentage of time spent by the backends executing a query throughout this report period
The data in this table is collected by the interval specified with the configuration parameter pg_statsinfo.sampling_interval (5 seconds by default).
This graph shows the percentage of time the backends spend in different states over time.
Axes
Horizontal axis: Time
Vertical axis: Number of backend
Legend
idle: Number of the backends waiting a new client command
idle in xact: Number of the backends waiting a command in a transaction
waiting: Number of the backends waiting on a lock
running: Number of the backends executing a query
This graph shows average for every snapshot interval of the percentage of states collected by the interval specified with the configuration parameter pg_statsinfo.sampling_interval (5 seconds by default).
This table shows the overview of the background writer process's activity.
Written buffers by bgwriter: Average number of buffers per second written by the background writer.
Bgwriter scans quitted earlier: Average number of times per second the background writer stopped a cleaning scan because it had written too many buffers.
Allocated buffers: Average number of buffers allocated per second.
This graph shows the trend of the background writer process's activity.
Axes
Horizontal axis: Time
Left side vertical axis: Buffers per second
Right side vertical axis: Frequency per second
Legend
Written buffers by bgwriter(L): Average number of buffers per second written by the background writer.
Allocated buffers(L): Average number of buffers allocated per second.
bgwriter scans quitted earlier(R): Average number of times per second the background writer stopped a cleaning scan because it had written too many buffers.
How to see a Wait Sampling (Instance) table.
Event type : The type of event for which the backend is waiting.
Event : Wait event name if backend is currently waiting.
Count : The number of samples.
Ratio : Ratio within each instance.
Row number : Row number within each instance.(Top 10)
This graph shows the trend of percentage of time the CPU spends in different states.
Legend
Horizontal axis: Time
Vertical axis: Percentage
Legend
user: Percentage of time spent by the processes in user mode
system: Percentage of time spent by the processes in kernel mode
iowait: Percentage of time spent by the processes waiting for I/O to complete
idle: Percentage of time spent by the process waiting to run
This graph shows average percentage for every snapshot interval.
This graph shows system load averages over time.
Axes
Horizontal axis: Time
Vertical axis: Load average
Legend
1min: Load average for past one minute
5min: Load average for past five minutes
15min: Load average for past fifteen minutes
This graph shows itemized memory usage over time. The values are read from /proc/meminfo.
Axes
Horizontal axis: Time
Vertical axis: Memory usage in bytes. Alters by clicking "change scale" button between linear scale and log scale.
Legend
memfree: The amount of physical RAM left unused by the system.
buffers: The amount of physical RAM used for file buffers.
cached: The amount of physical RAM used as cache memory.
swap: The amount of swap under use.
dirty: The amount of memory waiting to be written back to the disk.
Each row in this table shows the overview of a table space.
Tablespace: Name of tablespace
Location: Path in the file system that this tablespace is located in
Device: Major and minor device numbers
Used (MiB): The amount of disk space used in the device in Mebibytes
Avail (MiB): The amount of available disk space in Mebibytes
Remain (%): Percentage of available space against the whole device
* Small values may be shown as zero by round off.
This section consists of one overview table and two graphs.
Each row in the Disk Usage per Table shows the disk usage
overview of one table.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of this table
Size (MiB): Size of this table in Mebibytes
Table reads: Number of PostgreSQL disk blocks read from disk accessing this table
Index reads: Number of PostgresQL disk blocks read from disk accessing all indexes on this table
Toast reads: Number of disk blocks read from disk reading this table's TOAST table and its index (if any)
* Small values may be shown as zero by round off.
The Table Size Chart shows the table size ratios in different tables.
The Disk Read Chart shows the ratios of the number of blocks read
from a table and its belongings in different tables.
This section consists of one overview table and three trend
graphs. The graphs are hidden at first and comes out by clicking the
corresponding links.
The I/O Usage Table shows the overview of I/O usage throughout the report period. Each row represents one device.
Device name: Name of the device
Containing table spaces: List of table spaces located in the device
Read: Device read statistics
Total bytes (MiB): Read bytes throughout the report period in Mebibytes
Peak rate (KiB/s): Maximum read rate during the report period in Kibibytes per seconds
Total time (ms): Sum of the time spent to read this device in milliseconds throughout this report period
Write: Device write statistics
Total bytes (MiB): Write bytes throughout the report period in Mebibytes
Peak rate (KiB/s): maximum write rate during the report period in Kibibytes
Total time (ms): Sum of the time spent to write to this device in milliseconds
Average I/O queue: Average length of I/O queue throughout this report period
Total I/O time (ms): Sum of the time spent by I/O operations in milliseconds. This field corresponds to "weighted # of milliseconds spent doing I/Os" in /proc/diskstats
* Small values may be shown as zero by round off.
The I/O Rate Graph shows the read/write rate over snapshots. The values are the average in a snapshot.
Axes
Horizontal axis: Time
Vertical axis: I/O rate in bytes per seconds
Legend
[device] read: Read I/O rate
[device] write: Write I/O rate
The I/O Peak Rate Graph shows the read/write peak rate over snapshots. The values are the maximum within a snapshot.
Axes
Horizontal axis: Time
Vertical axis: I/O peak rate in every snapshot in bytes per seconeds
Legend
[device] read: Read I/O rate
[device] write: Write I/O rate
The I/O Time Graph shows the time spent by reading from or writing
to the device over snapshots. The values are percentage of I/O time
against real time and are the sums over all processes simultaneously
running so they may go above 100 % for certain load.
Axes
Horizontal axis: Time
Vertical axis: Percentage of I/O Time against real time
Legend
[device] avg read time: Read time
[device] avg write time: Write time
「This table shows I/O statistics (pg_stat_io) for the entire database cluster.
Time:Time collected.
backend type:Type of backend.
object:Target object of an I/O operation.(relation, temp replation)
context:The context of an I/O operation.(normal, vacuum, bulkread, bulkwrite)
reads:Number of read operations.
read bytes:The total size of read operations in bytes.
read time(ms):Time spent in read operations in milliseconds.
writes:Number of write operations.
write bytes:The total size of write operations in bytes.
write time(ms):Time spent in write operations in milliseconds.
writebacks:Number of units of size BLCKSZ (typically 8kB) which the process requested the kernel write out to permanent storage.
writeback time(ms):Time spent in writeback operations in milliseconds.
extends:Number of relation extend operations.
extend bytes:The total size of relation extend operations in bytes.
extend time(ms):Time spent in extend operations in milliseconds.
hits:The number of times a desired block was found in a shared buffer.
evictions:Number of times a block has been written out from a shared or local buffer in order to make it available for another use.
reuses:The number of times an existing buffer in a size-limited ring buffer outside of shared buffers was reused as part of an I/O operation in the bulkread, bulkwrite, or vacuum contexts.
fsyncs:Number of fsync calls. These are only tracked in context normal.
fsync time(ms):Time spent in fsync operations in milliseconds .
* Small values may be shown as zero by round off.
Data for each I/O operation is obtained when track_io_timing is enabled.
The following items give the final values of the snapshot period.
last reset time:Time at which these statistics were last reset.
Each row in this table shows the update activity overview of a table. The rows are shown in descending order of the "Total" field at first.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of this table
INSERT: Number of rows inserted during this report period
UPDATE: Number of rows updated during this report period including HOT updates
DELETE: Number of rows deleted during this report period
Total: The sum of the three fields above
HOT (%): Percentage of HOT updates against all UPDATEs
Each row in this table shows the scan activity overview of a
table. The rows are shown in descending order of the "Seq scan" field at
first.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of this table
Seq scan: Number of sequential scans ran on this table during this report period
Seq tup read: Number of tuples fetched by sequential scans on this table during this report period
Tup per seq: Average number of tuples fetched by one sequential scan throughout this report period
Hit ratio: Cache hit ratio in percent of this table averaged throughout this report period
Each rows in this table shows some figures related to filling factor of one table at the time of the latest snapshot in reportin period. The rows are shown in descending order of the "Tuples" field at first.
Database: Name of the database this table resides in
Schema: Name of the schama this table belongs to
Table: Name of this table
Tuples: Number of live tuples in this table
Logical pages: Estimated pages required to store all live tuples
Physical pages: Number of pages allocated to this table
Each row in this table shows the correlation coefficient between physical
and logical orders of one column. The correlation closer to zero
means weeker correlation between these orders.
The rows are shown in descending order of the "Correlation" field at first.
Database: Name of the database that the table containig this column resides in
Schema: Name of the schema that the table containing this columns belongs to
Table: Name of the table this column belongs to
Column: Name of this column
Correlation: Statistical correlation between physical row ordering and logical ordering of the column values
Each row in this table shows usage statistics of one function. The rows are shown in descending order of the "Time/call" field at first.
Database: Name of the database this function resides in
Schema: Name of the schema this function belongs to
Function: Name of this function
Calls: Number of times this function has been called during this report period
Total time (ms): Total time spent in this function and all other functions called by it during this report period in milliseconds
Self time (ms): Total time spent in this function itself during this report period in milliseconds
Time/call (ms): Average total time per one call throughout this report period in milliseconds
Each row in this table shows execution statistics of a
query. Multiple execitions by diffent users or on different databases
of a statement have their own rows. This feature requires
pg_stat_statsments to be installed.
User: Name of the user who executed this statement
Database: Name of the database in which this statement was executed
Query: Text of a representative statement
Calls: Number of times this statement was executed
Total execution time (s): Total time spent executing this statement, in seconds
Average execution time (s): Average time spent executing this statement per call, in seconds
Plans: Number of times this statement was planned
Total planning time (s): Total time spent planning this statement, in seconds
Average planning time (s): Average time spent planning this statement per call, in seconds
parallel workers to launch:Number of parallel workers planned to be launched
parallel workers launched:Number of parallel workers actually launched
This table provides a query-by-query summary of resource information at the time of query execution planning and at the time of query execution. of resource information at the time the query is planned and at the time the query is executed.
Database: Database name
User: User name
Plan: Planning-time resource usage
reads (Bytes): Amount of data read from disk during query planning. (Bytes)
writes (Bytes): Amount of data written to disk during query planning. (Bytes)
user time (s): User CPU time spent on query planning. (s)
system time (s): System CPU time spent on query planning. (s)
Execute: Execution-time resource usage
reads (Bytes): Amount of data read from disk during query execution. (Bytes)
writes (Bytes): Amount of data written to disk during query execution. (Bytes)
user time (s): User CPU time spent on query exeuction. (s)
system time (s): System CPU time spent on query execution. (s)
Query: Query string.
Each row in this table shows execution statistics itemized by execution plan. Clicking Query ID opens the itemized execution plan statistics. This feature requires pg_stat_statements and pg_store_plans to be installed.
Query ID: Hash code of this query
User: Name of the user who executed this statement
Database: Name of the database in which the statement was executed
Plan count: Number of plans executed for the statemnet
Calls: Number of times this statement executed
Total time (s): Total time spent in this statment during this report period in seconds
Time/call (s): Average time per execution of this query throughout thie report period in seconds
Shared block read time (ms): Total time this query spent reading shared blocks throughout this report period in milliseconds. This requires track_io_timing to be enabled.
Shared block write time (ms): Total time this query spent to write shared blocks during this report time in milliseconds. This requires track_io_timing to be enabled.
Local block read time (ms): Total time this query spent reading local blocks throughout this report period in milliseconds. This requires track_io_timing to be enabled.
Local block write time (ms): Total time this query spent to write local blocks during this report time in milliseconds. This requires track_io_timing to be enabled.
Temp block read time (ms): Total time this query spent to read temporary file blocks during this report time in milliseconds. This requires track_io_timing to be enabled.
Temp block write time (ms): Total time this query spent to write temporary file blocks during this report time in milliseconds. This requires track_io_timing to be enabled.
Query: Query string corresponding the plans listed. Shown by clicking Query ID
Plan details: Execution summaries of individual plans. Shown by clicking Query ID
Plan ID: Hash code which identifies plans.
Calls: Number of times this plan exected during this report period
Total time (s): Total time spent in single execution throughout this report period in seconds
Time/call (s): Average time per execution of this plan throughout this report period in seconds
Shared block read time (ms): Total time this plan spent to read shared blocks during this report period in milliseconds. This requires track_io_timing to be enabled.
Shared block write time (ms): Total time this plan spent to write shared blocks during this report period in millisecond. This requires track_io_timing to be enabled.
Local block read time (ms): Total time this plan spent to read local blocks during this report period in milliseconds. This requires track_io_timing to be enabled.
Local block write time (ms): Total time this plan spent to write local blocks during this report period in millisecond. This requires track_io_timing to be enabled.
Temp block read time (ms): Total time this plan spent to read temporary file blocks during this report period in milliseconds. This requires track_io_timing to be enabled.
Temp block write time (ms): Total time this plan spent to write temporary file blocks during this report period in milliseconds. This requires track_io_timing to be enabled.
First call: Time when this plan first executed
Last call: Time when this plan last executed
Plan: Plan string. This string holds numbers in last execution, which are omitted in calculating plan IDs.
How to see a Wait Sampling table.
Queryid : Hash code to identify identical normalized queries.
Database : Name of the database this backend is connected to.
Role : Name of the user logged into this backend.
Backend type : Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.
Event type : The type of event for which the backend is waiting.
Event : Wait event name if backend is currently waiting.
Count : The number of samples.
Ratio : Ratio within each query.
Query : Query string.
Row number : Row number within each query.(Top 10)
This table shows the list of long lasting transactions. Every
snapshot holds certain number of longest transactions at the time of
creation and the entries of the same transaction over snapshots are
merged on generating report then the merged transactions are shown in
this table, in descending order of their duration at
first. Transactions are identified by the set of "PID", "Client
address" and "Xact Start". pg_statsinfo.long_transaction_max specifies
how many long transactions every snapshot records.
PID: PID of the backend process where the transaction running on
Client address: Client IP address connected to the backend process
Xact Start: Time when the transaction has started
Duration: Time elapsed since the transaction started
Last query: Query string that last executed in the transaction
This table shows lock conflicts observed druing this report period.
Database: Name of the database where this conflict occurs
Schema: Name of the schema of the relation where this conflict occurs. This field left blank if the conflict is occurred on other than a relation.
Relation: Name of the relation where this coflict occurs. This field left blank if the conflict is occurred on other than a relation.
Duration: Time spent to wait for the lock to be acquired
Blockee PID: Process ID of the blocked backend
Blocker PID: Process ID of the blocking backend
Blocker GID: Group ID of the blocking backend
Blockee query: Query string wating for the lock
Blocker query: Queries executed in the blocking transaction. This field is no longer than 1000 bytes so it may be cut off at the middle of the queries
This table shows the summary of checkpoint activity.
Number of checkpoints: Number of checkpoints completed during this report period
Caused by timeout: Number of checkpoints started by chckpoint timeout
Caused by WALs: Number of checkpoints started by WAL growth
Average written buffers: Average number of the written buffers by each checkpoint throughout this report period
Maximum written buffers: Number of the buffers written by the checkpoint that have written largest number of buffers throughout this report period
Average checkpoint duration (s): Average duration of checkpoints cmopleted during this report period, in seconds
Maximum checkpoint duration (s): Duration of the checkpoint with the longest completion time in this report period, in seconds
This table shows the overview of autovacuum activities. Each row
corresponds to one table on which logged that autovacuums are done. This shows only
tables that autovacuum has been done at least once in this report
period.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of this table
Count: Number of autovacuum executed on this table
Index Scans: Number of index scans involved in each vacuum on table
Cancels: Number of cancelled autovacuum trial during this report period
Table scan pages: Average number of table pages scanned throughout this report period
Table scan pages ratio: Average ratio of table pages scanned throughout this report period
Max duration (s): Maximum duration among all autovacuums executed during this report period, in secods
Avg duration (s): Average time each autovacuum during this report period took, in seconds
Avg removed rows: Avarage number of rows that each autovacuum removed throughout this report period
Avg remain rows: Average number of rows that each autovacuum had not removed throughout this report period. This includes "Avg remain dead".
Avg remain dead: Average number of dead rows that each autovacuum cannot be removed
Count of "Index scan needed": Number of times index scans by autovacuum on this table
Count of "Index scan bypassed by failsafe": Number of times index scans bypassed by autovacuum on this table
Avg dead tuple pages: Average number of pages in which an autovacuum run found dead line pointers in this table throughout this report repiod.
Avg dead tuple pages ratio: Average ratio of pages in which an autovacuum run found dead line pointers in this table throughout this report repiod.
Dead line pointer: Average number of dead line pointer throughout this report period when index scans were skipped by autovacuum on this table
Max removable cutoff xid: Maximum removable cutoff xid used by this autovacuum run in this table throughout this report repiod.
Max new relation frozen xid: Maximum newly frozen xid in this table throughout this report period.
Max new relation min mxid: Maximum of minimum mxids of this table throughout this report period.
Missed dead rows: Number of dead tuples in bypassed pages in this table caused by clean up lock failure throughout this report period.
Pages left unclean: Number of uncleaned pages in this table caused by clean up lock failure throughout this report period.
This feature reuiqres log_autovacuum_min_duration set to 0,or this table may be incomplete.
This table shows the I/O statistics for autovacuums. Each row
corresponds to one table reported in autovacuum logs.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of the table
Page hit: Average number of buffers that each autovacuum read from shared buffers throughout this report period
Page read: Average number of buffers that each autovacuum read from disks throughout this report period
Page dirtied: Average number of buffers that each autovacuum has dirtied throughout this report period
Read rate (MiB/s): Average time that each autovacuum spent to read disks throughout this report period in MiB/s
Write rate (MiB/s): Average time that each autovacuum spent to write disks throughout this report period in MiB/s
Read duration (ms): Average time that each autovacuum spent to read disks throughout this report period in ms
Write duration (ms): Average time that each autovacuum spent to write disks throughout this report period in ms
This graph shows the trend of number of times WAL data was written to disk because WAL buffers became full during every snapshot interval.
Axes
Horizontal axis: Time
Vertical axis: Number of WAL data was written of full page images
Legend
WAL full page image: Number of WAL data was written of full page images
This graph shows the trend of amount of WAL data was written to disk by vacuum during every snapshot interval.
Axes
Horizontal axis: Time
Vertical axis: Amount of WAL data in bytes
Legend
WAL bytes: Amount of WAL data in bytes
This table shows the overview of autovacuum activities. Each row corresponds to one index on which logged that autovacuums are done. This shows only indexes that autovacuum has been done at least once in this report period.
Database: Name of the database this index resides in
Schema: Name of the schema this index belongs to
Table: Name of the table this index belongs to
Index: Name of the index
Count: Number of autovacuum executed on this index
Avg page total: Average number of index pages that each autovacuum vacuumed throughout this report period.
Avg page new delete: Average number of index pages that each autovacuum removed throughout this report period.
Avg page reuse: Average number of index pages that each autovacuum make available for reuse throughout this report period.
This table shows the overview of autoanalyze activities. Each row
corresponds to one table reported in autoanalyze logs.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of this table
Count: Number of autoanalyze executed on this table during this report period
Total duration (s): Total time of each autoanalyze execution on this table during this report period
Avg duration (s): Average time of each autoanalyze execution on this table throughout this report period
Max duration (s): Execution time of autoanalyze on this table which took longest, in seconds
Last analyzed: Time when the last autoanalyze ran on this table
Cancels: Number of autoanalyze cancellation occurred on this table
Max modified rows: Maximum number of rows modified during autovacuum intervals throughout this report period
This feature requires autovanalyze logs so set
log_autovacuum_min_duration to 0 to make this feature fully
available. Less logging reduces the completeness this table.
This table shows the I/O statistics for autoanalyzes. Each row corresponds to one table reported in autoanalyze logs.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of the table
Page hit: Average number of buffers that each autoanalyze read from shared buffers throughout this report period
Page read: Average number of buffers that each autoanalyze read from disks throughout this report period
Page dirtied: Average number of buffers that each autoanalyze has dirtied throughout this report period
Read rate (MiB/s): Average time that each autoanalyze spent to read disks throughout this report period in MiB/s
Write rate (MiB/s): Average time that each autoanalyze spent to write disks throughout this report period in MiB/s
Read duration (ms): Average time that each autoanalyze spent to read disks throughout this report period in ms
Write duration (ms): Average time that each autoanalyze spent to write disks throughout this report period in ms
This graph shows how many rows are inserted, updated or deleted since last analyze for each table in percentage to all tuples including dead tuples, which is related to the threshold of autoanalyze.
Axes
Horizontal axis: Time
Vertical axis: Percentage of modified rows against all rows including dead tuples stored in the table
Legend
[table] ratio: Percentage of modified rows for the table
To avoid losing readability of the graph, only ten largest tables in number of tuples are shown in this graph. The values are calculated as pg_stat_get_mod_since_analyze(table) / (reltuples of the table).
This table lists the cancellation events of autovacuums and autoanalyzes occurred during this report period.
Time: timestamp
Database: Name of the database the table resides in
Schema: Name of the schema the table belongs to
Table: Name of the table where the cancellation occurred
Activity: Canclled activity, either of ANALYZE or VACUUM
Causal query: Query string caused the cancellation
This table shows the overview of replication activities at the end
of reporting period. One column is shown for one replication
session.
Snapshot time: Timestamp of the last replication connection in snapshot
Session user: Name of the user logged into this WAL sender process
Application name: Application name that is connected to this WAL sender
Client address: IP address of the client connected to this WAL sender
Client host: Host name of the client connected to this WAL sender
Client port: TCP port number that the client is using for communication with this WAL sender
Started at: Time when this process was started
State: Current WAL sender state
Current location: Current transaction log position and WAL segment name on this cluster
Sent location: Last transaction log position and WAL segment name sent on this connection
Write location: Last transaction log position and WAL segment name written to disk by this standby server
Flush location: Last transaction log position and WAL segment name flushed to disk by this standby server
Replay location: Last transaction log position and WAL segment name replayed into the database on this standby server
Write lag time: Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it
Flush lag time: Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it
Replay lag time: Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it
Average replay delay: Average delay amount of replay on standby server
Peak replay delay: Peak delay amount of replay on standby server
Sync priority: Priority of the standby server for being chosen as the synchronous standby
Sync state: Synchronous state of this standby server
This graph shows how far the standby servers are behind this server.
Axes
Horizontal axis: Time
Vertical axis: Delays in bytes
Legend
[address]: [name of standby server] flush: Delay amount of flush on standby server. * Synchronous standby is prefixed by [sync] and drawn by thick line.
[address]: [name of standby server] replay: Delay amount of replay on standby server. * Synchronous standby is prefixed by [sync] and drawn by thick line
Each rows in this table shows logical replication slot statistics about its usage.
Slot name: A unique, cluster-wide identifier for the replication slot
Slot type: The slot type
Slot database: The database this replication slot is associated with
Spill txns: Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem
Spill count: Number of times transactions were spilled to disk while decoding changes from WAL for this slot
Spill bytes: Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot
Stream txns: Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem
Stream count: Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot
Stream bytes: Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot
Total txns: Number of decoded transactions sent to the decoding output plugin for this slot
Total bytes: Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot
Replication slots reset: Time at which these statistics were last reset
Each rows in this table shows the overview of a database table.
Database: Name of the database this table resides in
Schema: Name of the schema this table belongs to
Table: Name of this table
Columns: Number of user columns in this table
Rows: Number of rows in this table
MiB: Size of this table at the end of this report period in Mebibytes
+MiB: Increase or decrease in size of this table during this report period in Mebibytes
Table scans: Number of sequential scans executed during this report period
Index scans: Number of index scans executed during this report period
* Small values may be shown as zero by round off.
Each rows in this table shows the overview of a index.
Database: Name of the databsae this index resides in
Schema: Name of the schema this index belongs to
Index: Name of this table
Table: Name of the table this index belongs to
MiB: Size of this index at the end of this report period in Mebibytes
+MiB: Increase or descrease in size of this index during this report period in Mebibytes
Scans: Number of scans executed on this index during this report period
Rows/scan: Average number of live heap tuples fetched by each simple index scan using this index throughout this report period
Reads: Number of (PostgreSQL) blocks read from disk on accessing this index during this report period
Hits: Number of buffer hits in this index during this report period
Keys: List of keys of this index
* Small values may be shown as zero by round off.
This table lists all run-time parameters.
Name: Name of the parameter
Setting: Current value of the parameter if it is not changed though this report period. Shows the transition elsewise.
Unit: Implicit unit of this parameter
Source: Source of the value at the end of this report period
This table is CPU information.
Date time: CPU information acquisition date and time.
Vendor: Vendor name of CPU.
Model name: CPU model name.
CPU MHz: CPU drive frequency.
CPU: Number of CPUs (logical processors).
Threads/core: Number of threads per core.
Cores/socket: Number of cores per socket.
Socket: Number of sockets (physical CPUs)
This table is memory information.
Date time: Memory information acquisition date and time.
System memory: Size of memory available to the system.
This table lists the alerts issued during this report period.
Time: Time when this alert issued
Message: Alert message body
Changing alert settings.
Update the alert setting table of the repository database to change alert settings.
Please see the pg_statsinfo manual for details.
e.g. Change the threshold of Rollback per seconds to "3000" for instance 1.
UPDATE statsrepo.alert SET rollback_tps = 3000 WHERE instid = 1;
This table shows the summary for profiling using system tap.
Processing: Name of the condition probed
Executes: Frequency counter for the condition
The log viewer shows the server log lines sotred in repository. This allows you to narrow down or search logs for specific events easily on GUI.
Search Options
This section determines how to restrict log lines fetched from repository. The fetched lines are shown in the Log Table below.
ELEVEL: Error message level
USERNAME: User name
DATABASE: Database name
MESSAGE: Error message (POSIX regexps for ~ operators of PostgreSQL)
The Log Table
Each row in this table shows one log line. The first row in this table is quick filter fields, which will cleared by the Filter Reset button. You can select columns to show by the "Column" button. The following is the list of all available columns.
timestamp: Timestamp
username: User name
database: Database name
pid: Process ID
client_addr: Client IP address
session_id: Session ID
session_line_num: Number of the log line for each session or process
ps_display: Command tag
session_start: Process start time stamp
vxid: Virtual transaction ID
xid: Transaction ID
elevel: Error severity
sqlstate: SQLSTATE code
message: Error message
detail: error message detail
hint: Hint
query: Internal query that led to the error
query_pos: Character count of the error position therein
context: Error context
user_query: User query that led to the error
user_query_pos: Character count of the error position therein
location: Location of the error in the PostgreSQL source code