Re: A concurrent VACUUM FULL? - Mailing list pgsql-hackers

From Erik Nordström
Subject Re: A concurrent VACUUM FULL?
Date
Msg-id CACAa4V+QxR+x6z6TT2jDVFU7c=cMjsgz4br5SqjXfXM0qurNGA@mail.gmail.com
Whole thread Raw
In response to Re: A concurrent VACUUM FULL?  (Antonin Houska <ah@cybertec.at>)
Responses Re: A concurrent VACUUM FULL?
List pgsql-hackers


On Mon, Jun 30, 2025 at 12:03 PM Antonin Houska <ah@cybertec.at> wrote:
Erik Nordström <erik@timescale.com> wrote:

> Hi hackers,
>
> I've been looking at the code for CLUSTER/VACUUM FULL, and whether it is possible to do a concurrent version of it using a
> multi-transactional approach similar to concurrent reindexing and partition detach.
>
> The idea would be to hold weaker locks in TX1 when doing the heap rewrite (essentially allow reads but prevent writes), and then do the
> actual heap swap in a second TX2 transaction.

Patch [1] is in the queue that allows both reads and writes. (An exclusive
lock is acquired here for the swaps, but that should be held for very short
time.)


That sounds great. Do you know if there's anything I can do to help?

- Erik
 
--
Antonin Houska
Web: https://www.cybertec-postgresql.com

[1] https://commitfest.postgresql.org/patch/5117/

pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Report replica identity in pg_publication_tables
Next
From: Daniil Davydov
Date:
Subject: Re: Prevent internal error at concurrent CREATE OR REPLACE FUNCTION