Re: Add index scan progress to pg_stat_progress_vacuum
От | Imseih (AWS), Sami |
---|---|
Тема | Re: Add index scan progress to pg_stat_progress_vacuum |
Дата | |
Msg-id | A61665D5-CC4A-4B80-AD91-27464C289C01@amazon.com обсуждение исходный текст |
Ответ на | Re: Add index scan progress to pg_stat_progress_vacuum (Masahiko Sawada <sawada.mshk@gmail.com>) |
Ответы |
Re: Add index scan progress to pg_stat_progress_vacuum
|
Список | pgsql-hackers |
> Another idea I came up with is that we can wait for all index vacuums > to finish while checking and updating the progress information, and > then calls WaitForParallelWorkersToFinish after confirming all index > status became COMPLETED. That way, we don’t need to change the > parallel query infrastructure. What do you think? Thinking about this a bit more, the idea of using WaitForParallelWorkersToFinish Will not work if you have a leader worker that is stuck on a large index. The progress will not be updated until the leader completes. Even if the parallel workers finish. What are your thought about piggybacking on the vacuum_delay_point to update progress. The leader can perhaps keep a counter to update progress every few thousand calls to vacuum_delay_point. This goes back to your original idea to keep updating progress while scanning the indexes. /* * vacuum_delay_point --- check for interrupts and cost-based delay. * * This should be called in each major loop of VACUUM processing, * typically once per page processed. */ void vacuum_delay_point(void) { --- Sami Imseih Amazon Web Services
В списке pgsql-hackers по дате отправления: