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
5
0.029
0.006
5
0.004
0.001
pg15
postgres
COPY statsrepo.function FROM STDIN with(NULL 'null')
10
0.022
0.002
0
0.000
0
pg15
postgres
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, x.indexrelid AS reltoastidxid, c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relation_size(c.oid), pg_catalog.pg_stat_get_numscans(c.oid) AS s display full query string
SELECT a.attrelid, a.attnum, a.attname, pg_catalog.format_type(atttypid, atttypmod) AS type, a.attstattarget, a.attstorage, a.attnotnull, a.attisdropped, s.stawidth as avg_width, s.stadistinct as n_distinct, CASE WHEN s.stakind1 = $2 THEN s.st display full query string
5
0.015
0.003
5
0.006
0.001
pg15
postgres
INSERT INTO statsrepo.statement SELECT (($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24)::statsrepo.statement).* FROM statsrepo.database d WHERE d.snapid = $1 AND d.dbid = $2
150
0.014
0.000
150
0.067
0.000
pg15
postgres
INSERT INTO statsrepo.plan SELECT (($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25)::statsrepo.plan).* FROM statsrepo.database d WHERE d.snapid = $1 AND d.dbid = $2
150
0.014
0.000
150
0.068
0.000
pg15
postgres
SELECT statsrepo.create_repolog_partition($1)
52
0.007
0.000
52
0.000
0.000
Statements Resource Usage
User
Database
Plan
Execute
Query
reads (Bytes)
writes (Bytes)
user time (ms)
system time (ms)
reads (Bytes)
writes (Bytes)
user time (ms)
system time (ms)
pg15
bench
0
0
12.956361
1.178273
0
8192
36.502882
3.154601
UPDATE pgbench_branches SET bbalance = bbalance + $1 WHERE bid = $2
pg15
bench
0
0
12.702821
1.566867
0
45056
41.499360
4.297883
UPDATE pgbench_tellers SET tbalance = tbalance + $1 WHERE tid = $2
pg15
bench
0
0
15.732190
2.267565
0
638976
41.455999
5.638380
UPDATE pgbench_accounts SET abalance = abalance + $1 WHERE aid = $2
pg15
bench
0
0
12.652991
1.715889
0
0
21.739670
2.800788
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
pg15
postgres
0
0
0.000000
0.000000
0
81920
0.021231
0.000002
COPY statsrepo.function FROM STDIN with(NULL 'null')
pg15
postgres
0
0
0.005939
0.000012
0
0
0.024387
0.000883
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, x.indexrelid AS reltoastidxid, c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relation_size(c.oid), pg_catalog.pg_stat_get_numscans(c.oid) AS s display full query string
SELECT a.attrelid, a.attnum, a.attname, pg_catalog.format_type(atttypid, atttypmod) AS type, a.attstattarget, a.attstorage, a.attnotnull, a.attisdropped, s.stawidth as avg_width, s.stadistinct as n_distinct, CASE WHEN s.stakind1 = $2 THEN s.st display full query string
pg15
postgres
0
0
0.064025
0.001076
0
106496
0.027066
0.000966
INSERT INTO statsrepo.statement SELECT (($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24)::statsrepo.statement).* FROM statsrepo.database d WHERE d.snapid = $1 AND d.dbid = $2
pg15
postgres
0
0
0.065676
0.001999
0
122880
0.027488
0.000982
INSERT INTO statsrepo.plan SELECT (($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25)::statsrepo.plan).* FROM statsrepo.database d WHERE d.snapid = $1 AND d.dbid = $2
SELECT a.attrelid, a.attnum, a.attname, pg_catalog.format_type(atttypid, atttypmod) AS type, a.attstattarget, a.attstorage, a.attnotnull, a.attisdropped, s.stawidth as avg_width, s.stadistinct as n_distinct, CASE WHEN s.stakind1 = $2 THEN s.st display full query string
Insert on statement (cost=0.15..8.17 rows=0 width=0)
-> Index Only Scan using database_pkey on database d (cost=0.15..8.17 rows=1 width=208)
Index Cond: ((snapid = '1'::bigint) AND (dbid = '17183'::oid))
Update on pgbench_accounts (cost=0.42..8.45 rows=0 width=0)
-> Index Scan using pgbench_accounts_pkey on pgbench_accounts (cost=0.42..8.45 rows=1 width=10)
Index Cond: (aid = 308334)
Insert on plan (cost=0.15..8.17 rows=0 width=0)
-> Index Only Scan using database_pkey on database d (cost=0.15..8.17 rows=1 width=216)
Index Cond: ((snapid = '1'::bigint) AND (dbid = '17183'::oid))
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, x.indexrelid AS reltoastidxid, c.relkind, c.relpages, c.reltuples, c.reloptions, pg_catalog.pg_relation_size(c.oid), pg_catalog.pg_stat_get_numscans(c.oid) AS s display full query string
INSERT INTO statsrepo.statement SELECT (($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24)::statsrepo.statement).* FROM statsrepo.database d WHERE d.snapid = $1 AND d.dbid = $2
1
Long Transactions
No items found in this repository.
Lock Conflicts
No items found in this repository.
Maintenances
Checkpoints
Number of checkpoints
5
Caused by timeout
5
Caused by WALs
0
Average written buffers
17629.800
Maximum written buffers
21299.000
Average checkpoint duration (s)
269.893
Maximum checkpoint duration (s)
269.980
Autovacuums
Overview
Database
Schema
Table
Count
Index scans
Cancels
Table scan pages
Table scan pages ratio
Max duration (s)
Avg duration (s)
Avg removed rows
Avg remain rows
Avg remain dead
Count of "Index scan needed"
Count of "Index scan bypassed by failsafe"
Avg dead tuple pages
Avg dead tuple pages ratio
Avg dead line pointer
Max removable cutoff xid
Max new relation frozen xid
Max new relation min mxid
Missed dead rows
Pages left unclean
bench
public
pgbench_tellers
25
2.0
0
4.2
100.0
0.0
0.0
270.6
101.6
1.6
2
0
1.5
41.7
0.0
444935
444460
0.0
0.0
template1
pg_catalog
pg_statistic
1
1.0
0
26.0
100.0
0.0
0.0
123.0
404.0
0.0
1
0
13.0
50.0
0.0
55616
55616
0.0
0.0
bench
public
pgbench_branches
25
1.0
0
1.6
100.0
0.0
0.0
60.6
48.2
0.8
1
0
1.0
50.0
0.0
444886
444703
93.7
1.0
postgres
pg_catalog
pg_statistic
2
2.0
0
32.0
100.0
0.0
0.0
55.0
527.0
0.0
2
0
12.5
38.5
0.0
308613
13946
0.0
0.0
postgres
statsrepo
column_20230126
2
0.0
0
40.0
100.0
0.0
0.0
0.0
2229.0
0.0
0
0
0.0
0.0
0.0
373971
32575
0.0
0.0
bench
public
pgbench_history
9
0.0
0
267.4
25.7
0.0
0.0
0.0
178717.0
0.0
0
0
0.0
0.0
0.0
395941
0.0
0.0
template1
pg_catalog
pg_depend
1
0.0
0
14.0
100.0
0.0
0.0
0.0
1831.0
0.0
0
0
0.0
0.0
0.0
38041
38041
0.0
0.0
template1
pg_catalog
pg_class
1
0.0
0
14.0
100.0
0.0
0.0
0.0
410.0
0.0
0
0
0.0
0.0
0.0
38023
38023
0.0
0.0
I/O Summary
Database
Schema
Table
Page hit
Page miss
Page dirtied
Read rate (MiB/s)
Write rate (MiB/s)
Read duration (ms)
Write duration (ms)
bench
public
pgbench_history
541.889
0.000
0.556
0.000
0.265
0.000
0.000
postgres
statsrepo
column_20230126
113.000
1.000
10.000
14.309
33.163
0.011
0.000
postgres
pg_catalog
pg_statistic
106.500
0.000
4.000
0.000
51.314
0.000
0.000
template1
pg_catalog
pg_statistic
95.000
0.000
2.000
0.000
30.458
0.000
0.000
template1
pg_catalog
pg_depend
72.000
0.000
1.000
0.000
18.871
0.000
0.000
template1
pg_catalog
pg_class
54.000
0.000
1.000
0.000
38.297
0.000
0.000
bench
public
pgbench_branches
38.320
0.000
0.440
0.000
12.755
0.000
0.000
bench
public
pgbench_tellers
28.920
0.000
0.480
0.000
17.787
0.000
0.000
Vacuum WAL Statistics
Vacuum Index Statistics
Database
Schema
Table
Index
Count
Avg page total
Avg page new delete
Avg page current delete
Avg page reuse
postgres
pg_catalog
pg_statistic
pg_statistic_relid_att_inh_index
2
5.000
0.000
0.000
0.000
template1
pg_catalog
pg_statistic
pg_statistic_relid_att_inh_index
1
5.000
0.000
0.000
0.000
bench
public
pgbench_branches
pgbench_branches_pkey
1
2.000
0.000
0.000
0.000
bench
public
pgbench_tellers
pgbench_tellers_pkey
2
2.000
0.000
0.000
0.000
Analyze Overview
Database
Schema
Table
Count
Total duration (s)
Avg duration (s)
Max duration (s)
Last analyzed
Cancels
Max modified rows
bench
public
pgbench_accounts
3
2.940
0.980
1.050
2023-01-26 15:13:55
0
98486
bench
public
pgbench_history
16
2.050
0.128
0.180
2023-01-26 15:19:55
0
17385
postgres
statsrepo
column_20230126
5
0.030
0.006
0.010
2023-01-26 15:15:35
0
0
template1
pg_catalog
pg_attribute
1
0.020
0.020
0.020
2023-01-26 14:55:15
0
postgres
statsrepo
autovacuum
1
0.000
0.000
0.000
2023-01-26 15:12:35
0
43
postgres
statsrepo
function
2
0.000
0.000
0.000
2023-01-26 15:10:35
0
28
postgres
statsrepo
index_20230126
2
0.000
0.000
0.000
2023-01-26 15:10:35
0
41
postgres
statsrepo
log_20230126
3
0.000
0.000
0.000
2023-01-26 15:13:35
0
37
postgres
statsrepo
plan
2
0.000
0.000
0.000
2023-01-26 15:10:35
0
30
postgres
statsrepo
role
1
0.000
0.000
0.000
2023-01-26 15:10:35
0
39
postgres
statsrepo
rusage
2
0.000
0.000
0.000
2023-01-26 15:10:35
0
30
postgres
statsrepo
setting
1
0.000
0.000
0.000
2023-01-26 15:05:35
0
46
postgres
statsrepo
statement
2
0.000
0.000
0.000
2023-01-26 15:10:35
0
30
postgres
statsrepo
table_20230126
3
0.000
0.000
0.000
2023-01-26 15:15:35
0
54
postgres
statsrepo
wait_sampling
5
0.000
0.000
0.000
2023-01-26 15:15:35
0
0
template1
information_schema
sql_features
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_class
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_collation
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_constraint
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_depend
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_description
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_init_privs
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_rewrite
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_ts_config_map
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
template1
pg_catalog
pg_type
1
0.000
0.000
0.000
2023-01-26 14:55:15
0
bench
public
pgbench_branches
25
0.000
0.000
0.000
2023-01-26 15:19:55
0
2832
bench
public
pgbench_tellers
25
0.000
0.000
0.000
2023-01-26 15:19:55
0
2574
postgres
statsrepo
autoanalyze
2
0.000
0.000
0.000
2023-01-26 15:16:35
0
52
Analyze I/O Summary
Database
Schema
Table
Page hit
Page miss
Page dirtied
Read rate (MiB/s)
Write rate (MiB/s)
Read duration (ms)
Write duration (ms)
bench
public
pgbench_accounts
16851.667
3.333
2951.333
0.025
23.244
0.048
0.000
bench
public
pgbench_history
1427.000
0.063
0.188
0.005
0.013
0.000
0.000
template1
pg_catalog
pg_type
1080.000
3.000
15.000
2.344
11.719
0.000
0.000
postgres
statsrepo
autovacuum
1018.000
3.000
1.000
3.906
1.302
0.553
0.000
postgres
statsrepo
table_20230126
818.667
0.333
2.667
0.289
2.170
0.000
0.000
postgres
statsrepo
log_20230126
693.667
2.000
7.667
3.373
11.136
0.006
0.000
postgres
statsrepo
index_20230126
672.500
1.000
2.500
1.047
2.581
0.000
0.000
template1
pg_catalog
pg_constraint
546.000
2.000
3.000
3.125
4.688
0.000
0.000
template1
pg_catalog
pg_class
525.000
1.000
4.000
1.116
4.464
0.000
0.000
template1
pg_catalog
pg_attribute
513.000
2.000
7.000
0.710
2.486
0.000
0.000
postgres
statsrepo
autoanalyze
481.000
0.500
3.000
1.302
7.813
0.000
0.000
postgres
statsrepo
statement
460.000
1.000
7.500
2.604
19.532
0.000
0.000
postgres
statsrepo
plan
336.500
0.500
6.000
0.781
15.235
0.000
0.000
postgres
statsrepo
column_20230126
295.800
0.400
2.200
0.304
1.259
0.000
0.000
postgres
statsrepo
role
279.000
0.000
2.000
0.000
7.812
0.000
0.000
postgres
statsrepo
setting
246.000
0.000
3.000
0.000
11.719
0.000
0.000
postgres
statsrepo
wait_sampling
224.200
0.200
2.200
0.781
7.552
0.000
0.000
postgres
statsrepo
rusage
213.500
1.000
3.000
5.859
15.625
0.000
0.000
template1
information_schema
sql_features
200.000
1.000
3.000
1.953
5.859
0.000
0.000
postgres
statsrepo
function
168.000
0.500
3.500
3.906
23.437
0.000
0.000
template1
pg_catalog
pg_collation
138.000
1.000
1.000
7.812
7.812
0.000
0.000
bench
public
pgbench_branches
137.120
0.000
0.200
0.000
1.562
0.000
0.000
template1
pg_catalog
pg_rewrite
126.000
0.000
0.000
0.000
0.000
0.000
0.000
template1
pg_catalog
pg_description
118.000
6.000
3.000
5.859
2.930
0.033
0.000
template1
pg_catalog
pg_depend
103.000
1.000
2.000
1.562
3.125
0.000
0.000
template1
pg_catalog
pg_init_privs
86.000
0.000
1.000
0.000
7.812
0.000
0.000
template1
pg_catalog
pg_ts_config_map
57.000
0.000
0.000
0.000
0.000
0.000
0.000
bench
public
pgbench_tellers
42.960
0.000
0.080
0.000
0.625
0.000
0.000
Modified Rows
Cancellations
No items found in this repository.
Replication
Overview
Snapshot time
2023-01-26 15:20:00
Session user
pg15
Application name
walreceiver
Client address
Client host
Client port
-1
Started at
2023-01-26 14:53:55
State
streaming
Current location
0/3E2253C0 (00000001000000000000003E)
Sent location
0/3E2253C0 (00000001000000000000003E)
Write location
0/3E21D120 (00000001000000000000003E)
Flush location
0/3E219248 (00000001000000000000003E)
Replay location
0/3E219248 (00000001000000000000003E)
Write lag time
00:00:00.000090
Flush lag time
00:00:00.000090
Replay lag time
00:00:00.000090
Average replay delay
10045 bytes
Peak replay delay
48 kB
Sync priority
1
Sync state
sync
Delays
Miscellaneous
Tables and Indexes
Tables
Database
Schema
Table
Columns
Rows
MiB
+MiB
Table scans
Index scans
bench
public
pgbench_accounts
4
1000000
130
0
0
826986
bench
public
pgbench_branches
3
10
0
0
413493
0
bench
public
pgbench_history
6
444940
22
20
0
0
bench
public
pgbench_tellers
4
100
0
0
413478
15
Indexes
Database
Schema
Index
Table
MiB
+MiB
Scans
Rows/scan
Reads
Hits
Keys
bench
public
pgbench_accounts_pkey
pgbench_accounts
21
0
827118
1.000
0
2495802
aid
bench
public
pgbench_branches_pkey
pgbench_branches
0
0
0
0.000
1
35
bid
bench
public
pgbench_tellers_pkey
pgbench_tellers
0
0
15
1.000
1
112
tid
Settings
Run-time Parameters
Name
Setting
Unit
Source
TimeZone
Asia/Tokyo
configuration file
archive_command
cp %p ../archive/%f
configuration file
archive_mode
always
configuration file
default_text_search_config
pg_catalog.english
configuration file
lc_messages
C
configuration file
listen_addresses
*
configuration file
log_autovacuum_min_duration
0
ms
configuration file
log_destination
csvlog
override
log_timezone
Asia/Tokyo
configuration file
logging_collector
on
override
pg_stat_statements.track_planning
on
configuration file
pg_statsinfo.enable_maintenance
off
configuration file
pg_statsinfo.repository_server
port=10786 dbname=postgres
configuration file
pg_statsinfo.rusage_track_planning
on
configuration file
pg_statsinfo.snapshot_interval
300
s
configuration file
primary_conninfo
port=11786 user=pg15
configuration file
restore_command
cp ../archive/%f %p
configuration file
shared_buffers
65536
8kB
configuration file
shared_preload_libraries
pg_stat_statements, pg_statsinfo, pg_store_plans
configuration file
synchronous_standby_names
walreceiver
configuration file
track_functions
all
configuration file
track_io_timing
on
configuration file
wal_keep_size
32
MB
configuration file
Hardware Information
CPU Information
Date time
2023/01/26 14:53
Vendor
GenuineIntel
Model name
Intel Core Processor (Skylake, IBRS)
CPU MHz
3000
CPU
2
Threads/core
1
Cores/socket
1
Socket
2
Memory Information
Date time
2023/01/26 14:53
System memory
3924 MB
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 ($2, $3) AND n.nspname <> ALL (($4 || $1 || $5)::text[])
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, x.indexrelid AS reltoastidxid, 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(t.oid) - pg_catalog.pg_stat_get_blocks_hit(t.oid) AS toast_blks_read, pg_catalog.pg_stat_get_blocks_hit(t.oid) AS toast_blks_hit, pg_catalog.pg_stat_get_blocks_fetched(x.indexrelid) - pg_catalog.pg_stat_get_blocks_hit(x.indexrelid) AS tidx_blks_read, pg_catalog.pg_stat_get_blocks_hit(x.indexrelid) AS tidx_blks_hit, 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 ($2, $3) AND n.nspname <> ALL (($4 || $1 || $5)::text[]) GROUP BY c.oid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, c.relkind, c.relpages, c.reltuples, c.reloptions, t.oid, x.indexrelid
SELECT a.attrelid, a.attnum, a.attname, pg_catalog.format_type(atttypid, atttypmod) AS type, a.attstattarget, a.attstorage, a.attnotnull, a.attisdropped, s.stawidth as avg_width, s.stadistinct as n_distinct, CASE WHEN s.stakind1 = $2 THEN s.stanumbers1[$3] WHEN s.stakind2 = $4 THEN s.stanumbers2[$5] WHEN s.stakind3 = $6 THEN s.stanumbers3[$7] WHEN s.stakind4 = $8 THEN s.stanumbers4[$9] ELSE $10 END AS correlation FROM pg_attribute a LEFT JOIN pg_class c ON a.attrelid = c.oid LEFT JOIN pg_statistic s ON a.attnum = s.staattnum AND a.attrelid = s.starelid AND NOT s.stainherit LEFT JOIN pg_namespace n ON c.relnamespace = n.oid WHERE a.attnum > $11 AND c.relkind IN ($12, $13) AND n.nspname <> ALL (($14 || $1 || $15)::text[])
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 ($2, $3) AND n.nspname <> ALL (($4 || $1 || $5)::text[])
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, x.indexrelid AS reltoastidxid, 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(t.oid) - pg_catalog.pg_stat_get_blocks_hit(t.oid) AS toast_blks_read, pg_catalog.pg_stat_get_blocks_hit(t.oid) AS toast_blks_hit, pg_catalog.pg_stat_get_blocks_fetched(x.indexrelid) - pg_catalog.pg_stat_get_blocks_hit(x.indexrelid) AS tidx_blks_read, pg_catalog.pg_stat_get_blocks_hit(x.indexrelid) AS tidx_blks_hit, 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 ($2, $3) AND n.nspname <> ALL (($4 || $1 || $5)::text[]) GROUP BY c.oid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, c.relkind, c.relpages, c.reltuples, c.reloptions, t.oid, x.indexrelid
SELECT a.attrelid, a.attnum, a.attname, pg_catalog.format_type(atttypid, atttypmod) AS type, a.attstattarget, a.attstorage, a.attnotnull, a.attisdropped, s.stawidth as avg_width, s.stadistinct as n_distinct, CASE WHEN s.stakind1 = $2 THEN s.stanumbers1[$3] WHEN s.stakind2 = $4 THEN s.stanumbers2[$5] WHEN s.stakind3 = $6 THEN s.stanumbers3[$7] WHEN s.stakind4 = $8 THEN s.stanumbers4[$9] ELSE $10 END AS correlation FROM pg_attribute a LEFT JOIN pg_class c ON a.attrelid = c.oid LEFT JOIN pg_statistic s ON a.attnum = s.staattnum AND a.attrelid = s.starelid AND NOT s.stainherit LEFT JOIN pg_namespace n ON c.relnamespace = n.oid WHERE a.attnum > $11 AND c.relkind IN ($12, $13) AND n.nspname <> ALL (($14 || $1 || $15)::text[])
Hash Right Join (cost=151.49..191.28 rows=278 width=121)
Hash Cond: ((s.staattnum = a.attnum) AND (s.starelid = a.attrelid))
-> Seq Scan on pg_statistic s (cost=0.00..30.32 rows=266 width=150)
Filter: (NOT stainherit)
-> Hash (cost=147.32..147.32 rows=278 width=85)
-> Nested Loop (cost=1.37..147.32 rows=278 width=85)
-> Hash Left Join (cost=1.09..25.58 rows=47 width=4)
Hash Cond: (c.relnamespace = n.oid)
Filter: (n.nspname <> ALL (('{pg_catalog,pg_toast,information_schema}'::cstring)::text[]))
-> Seq Scan on pg_class c (cost=0.00..23.11 rows=188 width=8)
Filter: (relkind = ANY ('{r,t}'::"char"[]))
-> Hash (cost=1.04..1.04 rows=4 width=68)
-> Seq Scan on pg_namespace n (cost=0.00..1.04 rows=4 width=68)
-> Index Scan using pg_attribute_relid_attnum_index on pg_attribute a (cost=0.28..2.53 rows=6 width=85)
Index Cond: ((attrelid = c.oid) AND (attnum > 0))
SELECT a.attrelid, a.attnum, a.attname, pg_catalog.format_type(atttypid, atttypmod) AS type, a.attstattarget, a.attstorage, a.attnotnull, a.attisdropped, s.stawidth as avg_width, s.stadistinct as n_distinct, CASE WHEN s.stakind1 = $2 THEN s.stanumbers1[$3] WHEN s.stakind2 = $4 THEN s.stanumbers2[$5] WHEN s.stakind3 = $6 THEN s.stanumbers3[$7] WHEN s.stakind4 = $8 THEN s.stanumbers4[$9] ELSE $10 END AS correlation FROM pg_attribute a LEFT JOIN pg_class c ON a.attrelid = c.oid LEFT JOIN pg_statistic s ON a.attnum = s.staattnum AND a.attrelid = s.starelid AND NOT s.stainherit LEFT JOIN pg_namespace n ON c.relnamespace = n.oid WHERE a.attnum > $11 AND c.relkind IN ($12, $13) AND n.nspname <> ALL (($14 || $1 || $15)::text[])
Nested Loop (cost=25.74..43.37 rows=13 width=248)
-> Hash Join (cost=25.46..34.75 rows=13 width=39)
Hash Cond: (x.indrelid = c.oid)
-> Seq Scan on pg_index x (cost=0.00..8.30 rows=230 width=39)
-> Hash (cost=25.07..25.07 rows=31 width=4)
-> Hash Join (cost=1.12..25.07 rows=31 width=4)
Hash Cond: (c.relnamespace = n.oid)
-> Seq Scan on pg_class c (cost=0.00..23.11 rows=188 width=8)
Filter: (relkind = ANY ('{r,t}'::"char"[]))
-> Hash (cost=1.11..1.11 rows=1 width=4)
-> Seq Scan on pg_namespace n (cost=0.00..1.11 rows=1 width=4)
Filter: (nspname <> ALL (('{pg_catalog,pg_toast,information_schema}'::cstring)::text[]))
-> Index Scan using pg_class_oid_index on pg_class i (cost=0.28..0.64 rows=1 width=133)
Index Cond: (oid = x.indexrelid)
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 ($2, $3) AND n.nspname <> ALL (($4 || $1 || $5)::text[])
HashAggregate (cost=77.94..82.84 rows=49 width=338)
Group Key: c.oid, t.oid, x.indexrelid
Planned Partitions: 0
-> Hash Left Join (cost=37.62..76.35 rows=49 width=150)
Hash Cond: (c.reltoastrelid = x.indrelid)
-> Nested Loop Left (cost=26.45..64.27 rows=47 width=146)
-> Hash Right Join (cost=26.17..35.52 rows=47 width=142)
Hash Cond: (i.indrelid = c.oid)
-> Seq Scan on pg_index i (cost=0.00..8.30 rows=230 width=8)
-> Hash (cost=25.58..25.58 rows=47 width=138)
-> Hash Left Join (cost=1.09..25.58 rows=47 width=138)
Hash Cond: (c.relnamespace = n.oid)
Filter: (n.nspname <> ALL (('{pg_catalog,pg_toast,information_schema}'::cstring)::text[]))
-> Seq Scan on pg_class c (cost=0.00..23.11 rows=188 width=138)
Filter: (relkind = ANY ('{r,t}'::"char"[]))
-> Hash (cost=1.04..1.04 rows=4 width=68)
-> Seq Scan on pg_namespace n (cost=0.00..1.04 rows=4 width=68)
-> Index Only Scan using pg_class_oid_index on pg_class t (cost=0.28..0.61 rows=1 width=4)
Index Cond: (oid = c.reltoastrelid)
-> Hash (cost=8.30..8.30 rows=230 width=8)
-> Seq Scan on pg_index x (cost=0.00..8.30 rows=230 width=8)
SELECT c.oid AS relid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, x.indexrelid AS reltoastidxid, 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(t.oid) - pg_catalog.pg_stat_get_blocks_hit(t.oid) AS toast_blks_read, pg_catalog.pg_stat_get_blocks_hit(t.oid) AS toast_blks_hit, pg_catalog.pg_stat_get_blocks_fetched(x.indexrelid) - pg_catalog.pg_stat_get_blocks_hit(x.indexrelid) AS tidx_blks_read, pg_catalog.pg_stat_get_blocks_hit(x.indexrelid) AS tidx_blks_hit, 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 ($2, $3) AND n.nspname <> ALL (($4 || $1 || $5)::text[]) GROUP BY c.oid, c.relnamespace, c.reltablespace, c.relname, c.reltoastrelid, c.relkind, c.relpages, c.reltuples, c.reloptions, t.oid, x.indexrelid
This table shows the overview of entire this report.
Database system identifier: An ID which you will see using pg_controldata
Host name: Name of the host this instance resides on
Port ID: Port ID this server is listening on
PostgreSQL version: Version of PostgreSQL
Xact Start: Timestamp of the earliest snapshot in this report
Ends at: Timestamp of the latest snapshot in this report
Period: Period of this report
Datbase size: Database size at the time of the latest snapshot in this report
Number of commits: Number of transactions committed during the period of this report
Number of rollbakcs: Number of transactions rollbacked during the period of this report
Each line in this table shows statistic overview of a database.
Database: Database name
MiB: Size of the database at the time of the last snapshot in MiB.
+MiB: Increase or decrease in the database size during this report period in MiB.
Commit/s: Average frequency of commits during this report period.
Rollback/s: Average frequency of rollbacks during this report period.
Hit%: Shared buffer's hit rate throughout this report period.
Gets/s: Average number of blocks per second requested during this report period.
Reads/s: Average number of blocks per second read from disks during this report period.
Rows/s: Average number of rows per second fetched from tables and indexes during thie report period.
Temporary files: Number of temporary files created by queries in this database.
Temporary bytes (MiB): Total amount of data written to temporary files by queries in this database.
Deadlocks: Number of deadlocks detected in this database.
Read time (ms): Time spent reading data file blocks by backends in this database, in milliseconds.
Write time (ms): Time spent writing data file blocks by backends in this database, in milliseconds.
* Small values may be shown as zero by round off.
This graph shows the trend of number of transactions per seconds.
[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 (ms): User CPU time spent on query planning. (ms)
system time (ms): System CPU time spent on query planning. (ms)
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 (ms): User CPU time spent on query exeuction. (ms)
system time (ms): System CPU time spent on query execution. (ms)
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.
Written buffers by backends: Average number of buffers per second written directly by backends.
Bgwriter scans quitted earlier: Average number of times per second the background writer stopped a cleaning scan because it had written too many buffers.
Fsyncs executed on backends: Average number of times per second a backend had to execute its own fsync call because the checkpointer could not keep room for the fsync request.
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.
Written buffers by backends(L): Average number of buffers per second written directly by a backend.
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.
fsyncs executed on backends(R): Average number of times per second a backend had to execute its own fsync call because the checkpointer could not keep room for the fsync request.
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
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
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 (ms): User CPU time spent on query planning. (ms)
system time (ms): System CPU time spent on query planning. (ms)
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 (ms): User CPU time spent on query exeuction. (ms)
system time (ms): System CPU time spent on query execution. (ms)
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
Block read time (ms): Total time this query spent reading blocks throughout this report period in milliseconds. This requires track_io_timing to be enabled.
Block write time (ms): Total time this query spent to write 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
Block read time (ms): Total time this plan spent to read blocks during this report period in milliseconds. This requires track_io_timing to be enabled.
Block write time (ms): Total time this plan spent to write 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 miss: 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 miss: 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