Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom, why was a VACUUM FULL required?
I doubt that it was; a VACUUM would have sufficed to fix the tuple
commit bits. What I forgot to recommend was a CHECKPOINT to make
sure the fixed pages got dumped to disk. (Until they're written
out to the kernel, a new backend would still see the old pages
when it's doing the GetRawDatabaseInfo cruft.)
I think a VAC FULL would have flushed dirty pages, but a plain VACUUM
wouldn't, so VAC FULL is a second way of getting the result.
regards, tom lane