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
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 |