On Thursday, January 10, 2013 12:01 PM Pavan Deolasee wrote: > On Thu, Jan 10, 2013 at 11:45 AM, Amit Kapila <amit.kap...@huawei.com> > 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? > > > > I think it cannot made all visible. > > How about if any transaction in SSI mode is started before Vacuum > Full, should it see all tuples. > > > > We can definitely do better than what we are doing today and that > should fix many use cases and rebuild the VM for large part of the > table if not all. More precisely, in cluster.c we can see what does > HeapTupleSatisfiesVacuum() returns for every tuple in a page. If there > are only DEAD or LIVE tuples in a page, we can set the VM bit. We may > need similar additional checks for LIVE tuples like we have in vacuum > code path. But its certainly doable.
>> Do we document this behavior or add a TODO item? > Both? IMO, we should do both. With Regards, Amit Kapila. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers