On Tue, Oct 15, 2019 at 1:26 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > On Tue, Oct 15, 2019 at 4:15 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > > > > > > If we avoid postponing deleting empty pages till the cleanup phase, > > > > > then we don't have the problem for gist indexes. > > > > > > > > Yes. But considering your pointing out I guess that there might be > > > > other index AMs use the stats returned from bulkdelete in the similar > > > > way to gist index (i.e. using more larger structure of which > > > > IndexBulkDeleteResult is just the first field). If we have the same > > > > concern the parallel vacuum still needs to deal with that as you > > > > mentioned. > > > > > > > > > > Right, apart from some functions for memory allocation/estimation and > > > stats copy, we might need something like amcanparallelvacuum, so that > > > index methods can have the option to not participate in parallel > > > vacuum due to reasons similar to gist or something else. I think we > > > can work towards this direction as this anyway seems to be required > > > and till we reach any conclusion for gist indexes, you can mark > > > amcanparallelvacuum for gist indexes as false. > > > > Agreed. I'll create a separate patch to add this callback and change > > parallel vacuum patch so that it checks the participation of indexes > > and then vacuums on un-participated indexes after parallel vacuum. > > amcanparallelvacuum is not necessary to be a callback, it can be a > boolean field of IndexAmRoutine. >
Yes, it will be a boolean. Note that for parallel-index scans, we already have amcanparallel. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com