On Wed, Mar 14, 2018 at 7:40 AM, Masahiko Sawada <sawada.m...@gmail.com>
wrote:

> On Sat, Mar 10, 2018 at 3:40 AM, Alexander Korotkov
> <a.korot...@postgrespro.ru> wrote:
> > On Fri, Mar 9, 2018 at 3:12 PM, Masahiko Sawada <sawada.m...@gmail.com>
> > wrote:
> >>
> >> On Fri, Mar 9, 2018 at 8:43 AM, Alexander Korotkov
> >> <a.korot...@postgrespro.ru> wrote:
> >> > 2) These parameters are reset during btbulkdelete() and set during
> >> > btvacuumcleanup().
> >>
> >> Can't we set these parameters even during btbulkdelete()? By keeping
> >> them up to date, we will able to avoid an unnecessary cleanup vacuums
> >> even after index bulk-delete.
> >
> >
> > We certainly can update cleanup-related parameters during btbulkdelete().
> > However, in this case we would update B-tree meta-page during each
> > VACUUM cycle.  That may cause some overhead for non append-only
> > workloads.  I don't think this overhead would be sensible, because in
> > non append-only scenarios VACUUM typically writes much more of
> information.
> > But I would like this oriented to append-only workload patch to be
> > as harmless as possible for other workloads.
>
> What overhead are you referring here? I guess the overhead is only the
> calculating the oldest btpo.xact. And I think it would be harmless.
>

I meant overhead of setting last_cleanup_num_heap_tuples after every
btbulkdelete with wal-logging of meta-page.  I bet it also would be
harmless, but I think that needs some testing.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Reply via email to