On 9/1/23 21:34, Melanie Plageman wrote:
> Hi,
>
> I noticed that VACUUM FULL actually does freeze the tuples in the
> rewritten table (heap_freeze_tuple()) but then it doesn't mark them
> all visible or all frozen in the visibility map. I don't understand
> why. It seems like it would save us future work.
I have often wondered this as well, but obviously I haven't done
anything about it.
> I don't see why the visibility map shouldn't be updated so that all of
> the pages show all visible and all frozen for this relation after the
> vacuum full.
It cannot just blindly mark everything all visible and all frozen
because it will copy over dead tuples that concurrent transactions are
still allowed to see.
--
Vik Fearing