Amit Kapila wrote:
> On Thursday, January 10, 2013 6:09 AM Josh Berkus wrote:
>> Surely VACUUM FULL should rebuild the visibility map, and make
>> tuples in the new relation all-visible, no?
Certainly it seems odd to me that VACUUM FULL leaves the the table
in a less-well maintained state in terms of visibility than a
"normal" vacuum. VACUUM FULL should not need to be followed by
another VACUUM.
> I think it cannot made all visible.
I don't think all tuples in the relation are necessarily visible to
all transactions, but the ones which are should probably be flagged
that way.
> How about if any transaction in SSI mode is started before Vacuum
> Full, should it see all tuples.
There are no differences between visibility rules for serializable
transactions (SSI) and repeatable read transactions. It should be
based on whether any snapshots exist which can still see the tuple.
-Kevin