Re: Why doesn't Vacuum FULL update the VM - Mailing list pgsql-hackers

From Vik Fearing
Subject Re: Why doesn't Vacuum FULL update the VM
Date
Msg-id da7a8a3c-f305-5033-13fa-a3f960fcb0ce@postgresfriends.org
Whole thread Raw
In response to Why doesn't Vacuum FULL update the VM  (Melanie Plageman <melanieplageman@gmail.com>)
List pgsql-hackers
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




pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: sandboxing untrusted code
Next
From: Vik Fearing
Date:
Subject: Re: SQL:2011 application time