Re: A concurrent VACUUM FULL?

From: Antonin Houska <ah(at)cybertec(dot)at>
To: erik(at)timescale(dot)com
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: A concurrent VACUUM FULL?
Date: 2025-06-30 10:03:42
Message-ID: 18940.1751277822@localhost
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Erik Nordström <erik(at)timescale(dot)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.)

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

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2025-06-30 10:12:12 Re: [PATCH] Remove unused #include's in src/backend/utils/adt/*
Previous Message Ashutosh Bapat 2025-06-30 09:53:59 Report bytes and transactions actually sent downtream