On 2016-05-18 18:42:16 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2016-05-18 18:25:39 -0400, Tom Lane wrote:
> >> Yes, I've been wondering that too. VACUUM is not meant as a corruption
> >> checker, and should not be made into one, so what is the point of this
> >> flag exactly?
>
> > Well, so far a VACUUM FREEZE (or just setting vacuum_freeze_table_age =
> > 0) verified the correctness of the visibility map; and that found a
> > number of bugs. Now visibilitymap grew additional responsibilities,
> > with a noticeable risk of data eating bugs, and there's no way to verify
> > whether visibilitymap's frozen bits are set correctly.
>
> Meh. I'm not sure we should grow a rather half-baked feature we'll never
> be able to remove as a substitute for a separate sanity checker. The
> latter is really the right place for this kind of thing.
It's not a new feature, it's a feature we removed as a side effect. And
one that allows us to evaluate whether the new feature actually works.