mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add progress reporting for CLUSTER and VACUUM FULL.
This uses the same progress reporting infrastructure added in commit
c16dc1aca5
and extends it to these
additional cases. We lack the ability to track the internal progress
of sorts and index builds so the information reported is
coarse-grained for some parts of the operation, but it still seems
like a significant improvement over having nothing at all.
Tatsuro Yamada, reviewed by Thomas Munro, Masahiko Sawada, Michael
Paquier, Jeff Janes, Alvaro Herrera, Rafia Sabih, and by me. A fair
amount of polishing also by me.
Discussion: http://postgr.es/m/59A77072.3090401@lab.ntt.co.jp
This commit is contained in:
@ -1830,6 +1830,34 @@ pg_stat_database_conflicts| SELECT d.oid AS datid,
|
||||
pg_stat_get_db_conflict_bufferpin(d.oid) AS confl_bufferpin,
|
||||
pg_stat_get_db_conflict_startup_deadlock(d.oid) AS confl_deadlock
|
||||
FROM pg_database d;
|
||||
pg_stat_progress_cluster| SELECT s.pid,
|
||||
s.datid,
|
||||
d.datname,
|
||||
s.relid,
|
||||
CASE s.param1
|
||||
WHEN 1 THEN 'CLUSTER'::text
|
||||
WHEN 2 THEN 'VACUUM FULL'::text
|
||||
ELSE NULL::text
|
||||
END AS command,
|
||||
CASE s.param2
|
||||
WHEN 0 THEN 'initializing'::text
|
||||
WHEN 1 THEN 'seq scanning heap'::text
|
||||
WHEN 2 THEN 'index scanning heap'::text
|
||||
WHEN 3 THEN 'sorting tuples'::text
|
||||
WHEN 4 THEN 'writing new heap'::text
|
||||
WHEN 5 THEN 'swapping relation files'::text
|
||||
WHEN 6 THEN 'rebuilding index'::text
|
||||
WHEN 7 THEN 'performing final cleanup'::text
|
||||
ELSE NULL::text
|
||||
END AS phase,
|
||||
s.param3 AS cluster_index_relid,
|
||||
s.param4 AS heap_tuples_scanned,
|
||||
s.param5 AS heap_tuples_written,
|
||||
s.param6 AS heap_blks_total,
|
||||
s.param7 AS heap_blks_scanned,
|
||||
s.param8 AS index_rebuild_count
|
||||
FROM (pg_stat_get_progress_info('CLUSTER'::text) s(pid, datid, relid, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10)
|
||||
LEFT JOIN pg_database d ON ((s.datid = d.oid)));
|
||||
pg_stat_progress_vacuum| SELECT s.pid,
|
||||
s.datid,
|
||||
d.datname,
|
||||
|
Reference in New Issue
Block a user