aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/catalog/system_views.sql31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql
index 9ac8e9a2998..9570a53e7be 100644
--- a/src/backend/catalog/system_views.sql
+++ b/src/backend/catalog/system_views.sql
@@ -727,22 +727,31 @@ CREATE VIEW pg_statio_all_tables AS
pg_stat_get_blocks_fetched(C.oid) -
pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,
pg_stat_get_blocks_hit(C.oid) AS heap_blks_hit,
- sum(pg_stat_get_blocks_fetched(I.indexrelid) -
- pg_stat_get_blocks_hit(I.indexrelid))::bigint AS idx_blks_read,
- sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint AS idx_blks_hit,
+ I.idx_blks_read AS idx_blks_read,
+ I.idx_blks_hit AS idx_blks_hit,
pg_stat_get_blocks_fetched(T.oid) -
pg_stat_get_blocks_hit(T.oid) AS toast_blks_read,
pg_stat_get_blocks_hit(T.oid) AS toast_blks_hit,
- pg_stat_get_blocks_fetched(X.indexrelid) -
- pg_stat_get_blocks_hit(X.indexrelid) AS tidx_blks_read,
- pg_stat_get_blocks_hit(X.indexrelid) AS tidx_blks_hit
+ X.idx_blks_read AS tidx_blks_read,
+ X.idx_blks_hit AS tidx_blks_hit
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 T.oid = X.indrelid
+ pg_class T ON C.reltoastrelid = T.oid
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
- WHERE C.relkind IN ('r', 't', 'm')
- GROUP BY C.oid, N.nspname, C.relname, T.oid, X.indexrelid;
+ LEFT JOIN LATERAL (
+ SELECT sum(pg_stat_get_blocks_fetched(indexrelid) -
+ pg_stat_get_blocks_hit(indexrelid))::bigint
+ AS idx_blks_read,
+ sum(pg_stat_get_blocks_hit(indexrelid))::bigint
+ AS idx_blks_hit
+ FROM pg_index WHERE indrelid = C.oid ) I ON true
+ LEFT JOIN LATERAL (
+ SELECT sum(pg_stat_get_blocks_fetched(indexrelid) -
+ pg_stat_get_blocks_hit(indexrelid))::bigint
+ AS idx_blks_read,
+ sum(pg_stat_get_blocks_hit(indexrelid))::bigint
+ AS idx_blks_hit
+ FROM pg_index WHERE indrelid = T.oid ) X ON true
+ WHERE C.relkind IN ('r', 't', 'm');
CREATE VIEW pg_statio_sys_tables AS
SELECT * FROM pg_statio_all_tables