Re: Set visibility map bit after HOT prune - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Set visibility map bit after HOT prune
Date
Msg-id CA+U5nML1aXONK52X8TO5S6Z3NDJOEEGsexS1GKq96V7tPduFLQ@mail.gmail.com
Whole thread Raw
In response to Re: Set visibility map bit after HOT prune  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Set visibility map bit after HOT prune  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On 16 December 2012 14:41, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2012-12-16 13:23:56 +0530, Pavan Deolasee wrote:
>> Another idea could have been to NOT clear the visibility bit when a
>> HOT update happens. Such tuple can get pruned by HOT prune, so we
>> don't need vacuum per se, and the index-only scans are not affected
>> because the update was a HOT update, so the index keys did not change
>> either. So index-only scans would continue to return the same result.
>> Don't know if this would work with hot standby, probably not.
>
> For IOSs that sounds like an interesting and itself easy to implement
> idea, you basically only would need to add a single !use_hot_update in
> the if blocks doing the PageClearAllVisible in heap_update.
> This probably could make IOSs far more likely in some scenarios.

Doing that would completely change the meaning of the visibility map
from a heap visibility map into an index-only map.

IndexOnly scans would still work, but nothing else would ever and it
would be hard to confirm the validity of the vm.

-1

-- Simon Riggs                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Pavan Deolasee
Date:
Subject: Re: Set visibility map bit after HOT prune
Next
From: Tomas Vondra
Date:
Subject: Re: Serious problem: media recovery fails after system or PostgreSQL crash