On Mon, 18 Nov 2019 at 15:34, Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Mon, Nov 18, 2019 at 11:37 AM Masahiko Sawada > <masahiko.saw...@2ndquadrant.com> wrote: > > > > On Wed, 13 Nov 2019 at 14:31, Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > > > > > > Based on these needs, we came up with a way to allow users to specify > > > this information for IndexAm's. Basically, Indexam will expose a > > > variable amparallelvacuumoptions which can have below options > > > > > > VACUUM_OPTION_NO_PARALLEL 1 << 0 # vacuum (neither bulkdelete nor > > > vacuumcleanup) can't be performed in parallel > > > > I think VACUUM_OPTION_NO_PARALLEL can be 0 so that index AMs who don't > > want to support parallel vacuum don't have to set anything. > > > > make sense. > > > > VACUUM_OPTION_PARALLEL_BULKDEL 1 << 1 # bulkdelete can be done in > > > parallel (Indexes nbtree, hash, gin, gist, spgist, bloom will set this > > > flag) > > > VACUUM_OPTION_PARALLEL_COND_CLEANUP 1 << 2 # vacuumcleanup can be > > > done in parallel if bulkdelete is not performed (Indexes nbtree, brin, > > > gin, gist, > > > spgist, bloom will set this flag) > > > VACUUM_OPTION_PARALLEL_CLEANUP 1 << 3 # vacuumcleanup can be done in > > > parallel even if bulkdelete is already performed (Indexes gin, brin, > > > and bloom will set this flag) > > > > I think gin and bloom don't need to set both but should set only > > VACUUM_OPTION_PARALLEL_CLEANUP. > > > > And I'm going to disallow index AMs to set both > > VACUUM_OPTION_PARALLEL_COND_CLEANUP and VACUUM_OPTION_PARALLEL_CLEANUP > > by assertions, is that okay? > > > > Sounds reasonable to me. > > Are you planning to include the changes related to I/O throttling > based on the discussion in the nearby thread [1]? I think you can do > that if you agree with the conclusion in the last email[1], otherwise, > we can explore it separately.
Yes I agreed. I'm going to include that changes in the next version patches. And I think we will be able to do more discussion based on the patch. Regards, -- Masahiko Sawada http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services