Re: Adding REPACK [concurrently]
Antonin Houska <ah@cybertec.at>
From: Antonin Houska <ah@cybertec.at>
To: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>,
Pg Hackers <pgsql-hackers@lists.postgresql.org>,
Robert Treat <rob@xzilla.net>
Date: 2025-12-08T07:35:53Z
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
Mihail Nikalayeu <mihailnikalayeu@gmail.com> wrote: > On Thu, Dec 4, 2025 at 6:43 PM Antonin Houska <ah@cybertec.at> wrote: > > v26 attached here. It's been rebased and reflects most of the feedback. > > Some comments on 0001-0002: > 1) > > > cluster_rel(stmt->command, rel, indexOid, params); > cluster_rel closes relation, and after it is dereferenced a few lines after. > Technically it may be correct, but feels a little bit strange. ok, will be fixed in the next version (supposedly later today). > 2) > > > if (vacopts->mode == MODE_VACUUM) > I think for better compatibility it is better to handle new value in > if - (vacopts->mode == MODE_REPACK) to keep old cases unchanged I suppose you mean vacuuming.c. We're considering removal of pg_repackdb from the patchset, so let's decide on this later. > 3) > > > case T_RepackStmt: > > tag = CMDTAG_REPACK; > > break; > > should we use instead: > > case T_RepackStmt: > if (((RepackStmt *) parsetree)->command == REPACK_COMMAND_CLUSTER) > tag = CMDTAG_CLUSTER; > else > tag = CMDTAG_REPACK; > break; > > or delete CMDTAG_CLUSTER - since it not used anymore LGTM, will include it in the next version. > 4) > "has been superceded by" > typo ok. (This may also be removed, as it's specific to pg_repackdb.) -- Antonin Houska Web: https://www.cybertec-postgresql.com