Re: [HACKERS] CLUSTER command progress monitor
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, Tatsuro Yamada <tatsuro.yamada.tf@nttcom.co.jp>, Alvaro Herrera <alvherre@2ndquadrant.com>, Rafia Sabih <rafia.pghackers@gmail.com>, Dmitry Dolgov <9erthalion6@gmail.com>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Jeff Janes <jeff.janes@gmail.com>, Thomas Munro <thomas.munro@enterprisedb.com>, Michael Paquier <michael.paquier@gmail.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Date: 2019-09-13T06:48:51Z
Lists: pgsql-hackers
On Fri, Sep 06, 2019 at 08:10:58AM -0400, Robert Haas wrote: > It's fine if things are updated as well -- it's just you need to make > sure that those places know whether or not they are supposed to be > doing those updates. Again, why can't we just pass down a value > telling them "do reindex-style progress updates" or "do cluster-style > progress updates" or "do no progress updates"? That's invasive. CREATE INDEX reporting goes pretty deep into the tree, with steps dedicated to the builds and scans of btree (nbtsort.c for example) and hash index AMs. In this case we have something that does somewhat what you are looking for with report_progress which gets set to true only for VACUUM. If we were to do something like that, we would also need to keep some sort of mapping regarding which command ID (as defined by ProgressCommandType) is able to use which set of parameter flags (as defined by the arguments of pgstat_progress_update_param() and its multi_* cousin). Then comes the issue that some parameters may be used by multiple command types, while other don't (REINDEX and CREATE INDEX have some shared mapping). -- Michael
Commits
-
Fix progress reporting of CLUSTER / VACUUM FULL
- 6212276e4343 13.0 landed
- da47e43dc32e 12.0 landed
-
Fix thinko when ending progress report for a backend
- f4b91a50e9e6 9.6.16 landed
- 4950f09e7ae2 10.11 landed
- af28744288b1 11.6 landed
- 4c3e750ab4b5 12.0 landed
- ae060a52b288 13.0 landed
-
Report progress of REINDEX operations
- 03f9e5cba0ee 12.0 cited
-
Add progress reporting for CLUSTER and VACUUM FULL.
- 6f97457e0ddd 12.0 landed
-
Un-hide most cascaded-drop details in regression test results.
- 940311e4bb32 12.0 cited
-
Fix memory leak in printtup.c.
- f2004f19ed9c 12.0 cited
-
Remove unused macro
- fb5806533f9f 12.0 cited