Re: Questions/Observations related to Gist vacuum

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Questions/Observations related to Gist vacuum
Date: 2019-10-17 03:45:13
Message-ID: CAA4eK1KU=DiPT0p5he2Lrq=_ndMgwEerc_CY3ybo2ibMS+CQhg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Oct 16, 2019 at 7:21 PM Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
>
> On 16 October 2019 12:57:03 CEST, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> >On Tue, Oct 15, 2019 at 7:13 PM Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
> >wrote:
> >> All things
> >> considered, I'm not sure which is better.
> >
> >Yeah, this is a tough call to make, but if we can allow it to delete
> >the pages in bulkdelete conditionally for parallel vacuum workers,
> >then it would be better.
>
> Yeah, if it's needed for parallel vacuum, maybe that tips the scale.
>

makes sense. I think we can write a patch for it and prepare the
parallel vacuum patch on top of it. Once the parallel vacuum is in a
committable shape, we can commit the gist-index related patch first
followed by parallel vacuum patch.

> Hopefully, multi-pass vacuums are rare in practice. And we should lift the current 1 GB limit on the dead TID array, replacing it with something more compact and expandable, to make multi-pass vacuums even more rare. So I don't think we need to jump through many hoops to optimize the multi-pass case.
>

Yeah, that will be a good improvement.

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2019-10-17 04:21:06 Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays
Previous Message Kyotaro Horiguchi 2019-10-17 03:39:33 Re: configure fails for perl check on CentOS8