Re: VACUUM (DISABLE_PAGE_SKIPPING on) - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: VACUUM (DISABLE_PAGE_SKIPPING on)
Date
Msg-id CAKFQuwbw11ALHkPzA4F24=Ws6Copwqd8dbveQsyM=uKon_c2Cw@mail.gmail.com
Whole thread Raw
In response to VACUUM (DISABLE_PAGE_SKIPPING on)  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
On Mon, Nov 16, 2020 at 1:52 PM Simon Riggs <simon@2ndquadrant.com> wrote:
The docs are misleading for this feature, since they say:
"This option disables all page-skipping behavior, and is
intended to be used only when the contents of the visibility map are
suspect, which should happen only if there is a hardware or software
issue causing database corruption."
[...] 

The code is quite clear: DISABLE_PAGE_SKIPPING makes the vacuum into
an aggressive vacuum. Line 487, heap_vacuum_rel().  Aggressive vacuums
can still skip a page that is frozen, and rely on the visibility map
for that information.

So the docs are wrong - we don't disable *all* page-skipping and it is
not appropriate to warn users away from this feature by saying "is
intended to be used only when the contents of the visibility map are
suspect".

This patch seems mis-placed, at least in HEAD.  If DISABLE_PAGE_SKIPPING isn't doing what the documentation says it should, but instead provides identical behavior to FREEZE, then the bug should be fixed in HEAD.  I'd argue for batch-patching it as well.

David J.

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgbench: option delaying queries till connections establishment?
Next
From: luis.roberto@siscobra.com.br
Date:
Subject: Re: enable_incremental_sort changes query behavior