On Wed, May 12, 2021 at 9:48 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Tue, May 11, 2021 at 6:31 PM Justin Pryzby <pry...@telsasoft.com> wrote: > > > > On Tue, May 11, 2021 at 05:37:50PM +0530, Bharath Rupireddy wrote: > > > 3) Should the Assert(nindexes > 0); in begin_parallel_vacuum just be > > > Assert(nindexes > 1); as this function is entered only when indexes > > > are > 1? > > > > I think you're right, at least with the current implementation that > > parallelization is done across indexes. Same in parallel_vacuum_main. > > > > Yeah, as code stands both of you are right. However, it can be helpful > to test parallelism even with one index say if we implement something > like force_parallel_mode = regress or parallel_leader_participation = > off.
I see that currently we don't have it yet. Is it worth implementing them? Something like 1) when force_parallel_mode = regress, spawn one parallel worker, send the relation information to it, so that it performs vacuuming both the relation and it's indexes. 2) parallel_leader_participation = off, spawn workers as specified, but don't let the leader to vacuum index, so that any worker can pick it up. I'm not sure of the complexity though. With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com