Re: POC: Parallel processing of indexes in autovacuum

Поиск
Список
Период
Сортировка
От wenhui qiu
Тема Re: POC: Parallel processing of indexes in autovacuum
Дата
Msg-id CAGjGUAKbUEuF1_bKzBa1vT-Le4WeEPKNs3h6xCojcXBmPEZkGg@mail.gmail.com
обсуждение исходный текст
Ответ на POC: Parallel processing of indexes in autovacuum  (Maxim Orlov <orlovmg@gmail.com>)
Список pgsql-hackers
HI Maxim Orlov 
     Thank you for your working on this ,I like your idea ,but I have a suggestion ,autovacuum_max_workers is not need change requires restart , I think those guc are  can like 
autovacuum_max_workers 
+#max_parallel_index_autovac_workers = 0 # this feature disabled by default
+ # (change requires restart)
+#autovac_idx_parallel_min_rows = 0
+ # (change requires restart)
+#autovac_idx_parallel_min_indexes = 2
+ # (change requires restart)

Thanks 

On Wed, Apr 16, 2025 at 7:05 PM Maxim Orlov <orlovmg@gmail.com> wrote:
Hi!

The VACUUM command can be executed with the parallel option. As documentation states, it will perform index vacuum and index cleanup phases of VACUUM in parallel using integer background workers. But such an interesting feature is not used for an autovacuum. After a quick look at the source codes, it became clear to me that when the parallel option was added, the corresponding option for autovacuum wasn't implemented, although there are no clear obstacles to this.

Actually, one of our customers step into a problem with autovacuum on a table with many indexes and relatively long transactions. Of course, long transactions are an ultimate evil and the problem can be solved by calling running vacuum and a cron task, but, I think, we can do better.

Anyhow, what about adding parallel option for an autovacuum? Here is a POC patch for proposed functionality. For the sake of simplicity's, several GUC's have been added. It would be good to think through the parallel launch condition without them.

As always, any thoughts and opinions are very welcome!

--
Best regards,
Maxim Orlov.

В списке pgsql-hackers по дате отправления: