Re: [HACKERS] Block level parallel vacuum - Mailing list pgsql-hackers

From Sergei Kornilov
Subject Re: [HACKERS] Block level parallel vacuum
Date
Msg-id 4963141553166299@myt3-c7e5d17fe013.qloud-c.yandex.net
Whole thread Raw
In response to Re: [HACKERS] Block level parallel vacuum  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers
Hello

> * in_parallel is true if we're performing parallel lazy vacuum. Since any
> * updates are not allowed during parallel mode we don't update statistics
> * but set the index bulk-deletion result to *stats. Otherwise we update it
> * and set NULL.

lazy_cleanup_index has in_parallel argument only for this purpose, but caller still should check in_parallel after
lazy_cleanup_indexcall and do something else with stats for parallel execution.
 
Would be better always return stats and update statistics in caller? It's possible to update all index stats in
lazy_vacuum_all_indexesfor example? This routine is always parallel leader and has comment /* Do post-vacuum cleanup
andstatistics update for each index */ on for_cleanup=true call.
 

I think we need note in documentation that parallel leader is not counted in PARALLEL N option, so with PARALLEL 2
optionwe want use 3 processes. Or even change behavior? Default with PARALLEL 1 - only current backend in single
processis running, PARALLEL 2 - leader + one parallel worker, two processes works in parallel.
 

regards, Sergei


pgsql-hackers by date:

Previous
From: Evgeniy Efimkin
Date:
Subject: Re: Special role for subscriptions
Next
From: Alvaro Herrera
Date:
Subject: Re: PostgreSQL pollutes the file system