On 5/24/13 9:53 AM, Andres Freund wrote:
>>> We don't even necessarily need to log the hint bits for all items since
>>> > >the redo for all_visible could make sure all items are hinted. The only
>>> > >problem is knowing up to where we can truncate pg_clog...
>> >[all-visible cannot restore hint bits without FPI because of torn pages]
> I haven't yet thought about this sufficiently yet. I think we might have
> a chance of working around this, let me ponder a bit.
>
> But even if that means needing a full page write via the usual mechanism
> for all visible if any hint bits needed to be set we are still out far
> ahead of the current state imo.
> * cleanup would quite possibly do an FPI shortly after in vacuum
> anyway. If we do it for all visible, it possibly does not need to be
> done for it.
> * freezing would FPI almost guaranteedly since we do it so much
> later.
> * Not having to rescan the whole heap will be a bigger cost saving...
Would we only set all the hint bits within vacuum? If so I don't think the WAL hit matters at all, because vacuum is
almostalways a background, throttled process.
--
Jim C. Nasby, Data Architect jim@nasby.net
512.569.9461 (cell) http://jim.nasby.net