On Fri, Jan 13, 2012 at 12:18 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> On Fri, Jan 13, 2012 at 5:08 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> Also, what happens if an all-visible bit gets set on the standby
>> through some other mechanism - e.g. restored from an FPI or
>> XLOG_HEAP_NEWPAGE? I'm not sure whether we ever do an FPI of the
>> visibility map page itself, but we certainly do it for the heap pages.
>> So it might be that this infrastructure would (somewhat bizarrely)
>> trust the visibility map bits but not the PD_ALL_VISIBLE bits. I'm
>> hoping Heikki or Tom will comment on this thread, because I think
>> there are a bunch of subtle issues here and that we could easily screw
>> it up by trying to plow through the problem too hastily.
>
> An FPI can't change the all visible flag. If it did, it would imply
> that we'd skipped generation or replay of an XLOG_HEAP2_VISIBLE
> record, or that we're doing crash recovery/inital startup and HS is
> not yet enabled.
Interesting. I hadn't considered that point.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company