Re: Adding REPACK [concurrently]
Mikhail Nikalayeu <mihailnikalayeu@gmail.com>
From: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
To: Antonin Houska <ah@cybertec.at>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Pg Hackers <pgsql-hackers@lists.postgresql.org>,
Robert Treat <rob@xzilla.net>
Date: 2025-12-18T02:05:00Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Improve REPACK (CONCURRENTLY) error messages some more
- 378dffaf8c80 19 (unreleased) landed
-
Add CONCURRENTLY option to REPACK
- 28d534e2ae0a 19 (unreleased) landed
-
Make index_concurrently_create_copy more general
- 33bf7318f94c 19 (unreleased) landed
-
Document the 'command' column of pg_stat_progress_repack
- a630ac5c2016 19 (unreleased) landed
-
Introduce the REPACK command
- ac58465e0618 19 (unreleased) landed
-
Split vacuumdb to create vacuuming.c/h
- c4067383cb2c 19 (unreleased) landed
-
Revert changes to CONCURRENTLY that "sped up" Xmin advance
- 042b584c7f7d 14.4 cited
Hello, Antonin! On Sat, Dec 13, 2025 at 8:39 PM Antonin Houska <ah@cybertec.at> wrote: > > --- > > > SpinLockAcquire(&shared->mutex); > > > valid = shared->sfs_valid; > > > SpinLockRelease(&shared->mutex); > > > > Better to remember last_exported here to avoid any races/misses. > > What races/misses exactly? Just as some way to reduce a number of potential scenarios/states between parallel actors. > > --- > > > bool done; > > > > bool exit_after_lsn_upto? > > Not sure. I think it should be named in some way to signal it is a request, not a report. > > Also, should we add some kind of back pressure between building > > indexes/new heap and num of WAL we have? > > But probably it is out of scope of the patch. > > Do you mean that the decoding worker should be less active if the amount of > WAL doesn't grow too fast? In the previous version (without background) we have some kind of back-pressure during the scan part (if we have too muchWAL delayed because of us - we process it). But it is not more true with a background worker. At the same time - it never was during the index building phase... Best regards, Mikhail.