From: | Antonin Houska <ah(at)cybertec(dot)at> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | Marcos Pegoraro <marcos(at)f10(dot)com(dot)br>, Michael Banck <mbanck(at)gmx(dot)net>, Junwang Zhao <zhjwpku(at)gmail(dot)com>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: why there is not VACUUM FULL CONCURRENTLY? |
Date: | 2025-03-31 14:26:25 |
Message-ID: | 104580.1743431185@localhost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Antonin Houska <ah(at)cybertec(dot)at> wrote:
> Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
>
> > On 2025-Mar-22, Antonin Houska wrote:
> >
> > > Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> > >
> > > > I rebased this patch series; here's v09. No substantive changes from v08.
> > > > I made sure the tree still compiles after each commit.
> >
> > I rebased again, fixing a compiler warning reported by CI and applying
> > pgindent to each individual patch. I'm slowly starting to become more
> > familiar with the whole of this new code.
>
> I'm trying to reflect Robert's suggestions about locking [1]. The next version
> should be a bit simpler, so maybe wait for it before you continue studying the
> code.
This is it. A few notes:
* Since there's no unlocking during the processing now, the code to check for
catalog changes was removed.
* Some code moved from 0004 to 0005, where it fits better. (Also the commit
messages of these two parts elaborated a bit more.)
* Regarding the progress monitoring, I do in 0004 what I proposed in [1]:
BeginInternalSubTransaction() now sets a flag that avoids clearing of the
progress state in AbortSubTransaction()
* Although I consider 0005 (Preserve visibility information of the concurrent
data changes.) important, it occurs to me now that it might introduce quite
some overhead.
* 0003 is new in the series. I thought it'll be needed, then I realized it's
not. It might be useful as refactoring though. Please let me know if I
should maintain it or drop it.
[1] https://www.postgresql.org/message-id/80297.1742989179%40localhost
--
Antonin Houska
Web: https://www.cybertec-postgresql.com
Attachment | Content-Type | Size |
---|---|---|
v11-0001-Add-REPACK-command.patch | text/x-diff | 89.8 KB |
v11-0002-Move-conversion-of-a-historic-to-MVCC-snapshot-to-a-.patch | text/x-diff | 5.4 KB |
v11-0003-Move-the-recheck-branch-to-a-separate-function.patch | text/x-diff | 4.8 KB |
v11-0004-Add-CONCURRENTLY-option-to-REPACK-command.patch | text/plain | 137.0 KB |
v11-0005-Preserve-visibility-information-of-the-concurrent-da.patch | text/x-diff | 57.3 KB |
v11-0006-Add-regression-tests.patch | text/x-diff | 10.6 KB |
v11-0007-Introduce-repack_max_xlock_time-configuration-variab.patch | text/x-diff | 20.4 KB |
v11-0008-Enable-logical-decoding-transiently-only-for-REPACK-.patch | text/x-diff | 22.6 KB |
v11-0009-Call-logical_rewrite_heap_tuple-when-applying-concur.patch | text/x-diff | 26.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Aleksander Alekseev | 2025-03-31 14:37:39 | Re: encode/decode support for base64url |
Previous Message | Tomas Vondra | 2025-03-31 14:11:39 | Re: Improve monitoring of shared memory allocations |