Re: Minimum tuple threshold to decide last pass of VACUUM

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Minimum tuple threshold to decide last pass of VACUUM
Date: 2015-08-03 17:31:23
Message-ID: CA+Tgmoby+pX-hQsqLKYFu69tKg_2MPJtEhAXW1MDCgL_+CXRtg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 3, 2015 at 11:52 AM, Alvaro Herrera
<alvherre(at)2ndquadrant(dot)com> wrote:
> Simon Riggs wrote:
>> * For emergency anti-wraparound VACUUMs we shouldn't scan indexes at all,
>> since they aren't critical path activities at that point
>
> It is not possible to skip scanning indexes completely, unless no tuples
> are to be removed from the heap. Otherwise, index tuples become
> lingering pointers (and when such heap address are later refilled, they
> become corrupted indexscans).

Well, if we skip the index scans, we can't do the second heap pass
either, but that's OK. I think we're all talking about the same thing
here, which is to do only the first heap pass in some cases. That
will prune dead tuples to line pointers, freeze old XIDs, and mark
pages all-visible where appropriate.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2015-08-03 17:33:01 Re: Minimum tuple threshold to decide last pass of VACUUM
Previous Message Robert Haas 2015-08-03 17:28:30 Re: patch: prevent user from setting wal_buffers over 2GB bytes