@@ -101,8 +101,10 @@ SELECT
101101 s .schemaname ,
102102 s .relname ,
103103 m .seq_scan ,
104+ m .last_seq_scan ,
104105 m .seq_tup_read ,
105106 m .idx_scan ,
107+ m .last_idx_scan ,
106108 m .idx_tup_fetch ,
107109 m .n_tup_ins ,
108110 m .n_tup_upd ,
@@ -125,13 +127,16 @@ FROM
125127 allt .schemaname ,
126128 allt .relname ,
127129 case when d .policytype = ' r' then (sum (seq_scan)/ d .numsegments )::bigint else sum (seq_scan) end seq_scan,
130+ max (last_seq_scan) as last_seq_scan,
128131 case when d .policytype = ' r' then (sum (seq_tup_read)/ d .numsegments )::bigint else sum (seq_tup_read) end seq_tup_read,
129132 case when d .policytype = ' r' then (sum (idx_scan)/ d .numsegments )::bigint else sum (idx_scan) end idx_scan,
133+ max (last_idx_scan) as last_idx_scan,
130134 case when d .policytype = ' r' then (sum (idx_tup_fetch)/ d .numsegments )::bigint else sum (idx_tup_fetch) end idx_tup_fetch,
131135 case when d .policytype = ' r' then (sum (n_tup_ins)/ d .numsegments )::bigint else sum (n_tup_ins) end n_tup_ins,
132136 case when d .policytype = ' r' then (sum (n_tup_upd)/ d .numsegments )::bigint else sum (n_tup_upd) end n_tup_upd,
133137 case when d .policytype = ' r' then (sum (n_tup_del)/ d .numsegments )::bigint else sum (n_tup_del) end n_tup_del,
134138 case when d .policytype = ' r' then (sum (n_tup_hot_upd)/ d .numsegments )::bigint else sum (n_tup_hot_upd) end n_tup_hot_upd,
139+ case when d .policytype = ' r' then (sum (n_tup_newpage_upd)/ d .numsegments )::bigint else sum (n_tup_newpage_upd) end n_tup_newpage_upd,
135140 case when d .policytype = ' r' then (sum (n_live_tup)/ d .numsegments )::bigint else sum (n_live_tup) end n_live_tup,
136141 case when d .policytype = ' r' then (sum (n_dead_tup)/ d .numsegments )::bigint else sum (n_dead_tup) end n_dead_tup,
137142 case when d .policytype = ' r' then (sum (n_mod_since_analyze)/ d .numsegments )::bigint else sum (n_mod_since_analyze) end n_mod_since_analyze,
@@ -190,7 +195,8 @@ SELECT
190195 CASE WHEN dst .policytype = ' r' THEN (sum (sxa .n_tup_ins )/ dst .numsegments )::bigint ELSE sum (sxa .n_tup_ins ) END AS n_tup_ins,
191196 CASE WHEN dst .policytype = ' r' THEN (sum (sxa .n_tup_upd )/ dst .numsegments )::bigint ELSE sum (sxa .n_tup_upd ) END AS n_tup_upd,
192197 CASE WHEN dst .policytype = ' r' THEN (sum (sxa .n_tup_del )/ dst .numsegments )::bigint ELSE sum (sxa .n_tup_del ) END AS n_tup_del,
193- CASE WHEN dst .policytype = ' r' THEN (sum (sxa .n_tup_hot_upd )/ dst .numsegments )::bigint ELSE sum (sxa .n_tup_hot_upd ) END AS n_tup_hot_upd
198+ CASE WHEN dst .policytype = ' r' THEN (sum (sxa .n_tup_hot_upd )/ dst .numsegments )::bigint ELSE sum (sxa .n_tup_hot_upd ) END AS n_tup_hot_upd,
199+ CASE WHEN dst .policytype = ' r' THEN (sum (sxa .n_tup_newpage_upd )/ dst .numsegments )::bigint ELSE sum (sxa .n_tup_newpage_upd ) END AS n_tup_newpage_upd
194200FROM
195201 gp_stat_xact_all_tables sxa
196202 LEFT OUTER JOIN gp_distribution_policy dst
@@ -221,6 +227,7 @@ SELECT
221227 s .relname ,
222228 s .indexrelname ,
223229 m .idx_scan ,
230+ m .last_idx_scan ,
224231 m .idx_tup_read ,
225232 m .idx_tup_fetch
226233FROM
231238 alli .relname ,
232239 alli .indexrelname ,
233240 case when d .policytype = ' r' then (sum (alli .idx_scan )/ d .numsegments )::bigint else sum (alli .idx_scan ) end idx_scan,
241+ max (last_idx_scan) as last_idx_scan,
234242 case when d .policytype = ' r' then (sum (alli .idx_tup_read )/ d .numsegments )::bigint else sum (alli .idx_tup_read ) end idx_tup_read,
235243 case when d .policytype = ' r' then (sum (alli .idx_tup_fetch )/ d .numsegments )::bigint else sum (alli .idx_tup_fetch ) end idx_tup_fetch
236244 FROM
@@ -489,3 +497,26 @@ FROM gp_stat_progress_create_index a
489497 LEFT JOIN gp_stat_progress_create_index a1 ON a .pid = a1 .pid AND a1 .gp_segment_id = - 1
490498WHERE a .gp_segment_id > - 1
491499GROUP BY a .datid , a .datname , a .relid , a .index_relid , a .command , a .phase , d .policytype , d .numsegments ;
500+
501+ CREATE OR REPLACE VIEW gp_stat_io_summary AS
502+ SELECT
503+ backend_type,
504+ object,
505+ context,
506+ sum (reads) as reads,
507+ sum (read_time) as read_time,
508+ sum (writes) as writes,
509+ sum (write_time) as write_time,
510+ sum (writebacks) as writebacks,
511+ sum (writeback_time) as writeback_time,
512+ sum (extends) as extends,
513+ sum (extend_time) as extend_time,
514+ sum (op_bytes) as op_bytes,
515+ sum (hits) as hits,
516+ sum (evictions) as evictions,
517+ sum (reuses) as reuses,
518+ sum (fsyncs) as fsyncs,
519+ sum (fsync_time) as fsync_time,
520+ max (stats_reset) as stats_reset
521+ FROM gp_stat_io
522+ GROUP BY backend_type, object, context;
0 commit comments