Jeff Davis <pgsql@j-davis.com> writes:
> On Thu, 2010-03-18 at 16:50 -0400, Tom Lane wrote:
>> The VM is (a) not compressed and (b) not correctness-critical.
>> Wrong bit values don't do any serious damage.
> The VM cause wrong results if a bit is set that's not supposed to be --
> right? Am I missing something? How does a seq scan skip visibility
> checks and still produce right results, if it doesn't rely on the bit?
It doesn't. The only thing we currently rely on the VM for is deciding
whether a page needs vacuuming --- and even that we don't trust it for
when doing anti-wraparound vacuuming. The worst-case consequence of a
wrong bit is failure to free some dead tuples until the vacuum freeze
limit expires.
In order to do things like not visiting a page during scans, we'll have
to solve the reliability issues.
regards, tom lane