Re: Adding REPACK [concurrently]
Mikhail Nikalayeu <mihailnikalayeu@gmail.com>
From: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Pg Hackers <pgsql-hackers@lists.postgresql.org>,
Antonin Houska <ah@cybertec.at>, Robert Treat <rob@xzilla.net>, Fujii Masao <masao.fujii@gmail.com>
Date: 2025-09-26T14:27:12Z
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!
Álvaro Herrera <alvherre@kurilemu.de>:
> So here's v22 with those and rebased to current sources. Only the first
> two patches this time, which are the ones I would be glad to receive
> input on.
> get_tables_to_repack_partitioned(RepackCommand cmd, MemoryContext cluster_context,
> Oid relid, bool rel_is_index)
Should we rename it to repack_context to be aligned with the calling side?
---------
'cmd' in
> static List *get_tables_to_repack(RepackCommand cmd, bool usingindex,
> MemoryContext permcxt);
but 'command' in
> get_tables_to_repack(RepackCommand command, bool usingindex,
> MemoryContext permcxt)
---------
> cmd == REPACK_COMMAND_CLUSTER ? "CLUSTER" : "REPACK",
May be changed to RepackCommandAsString
-----------
if (cmd == REPACK_COMMAND_REPACK)
pgstat_progress_update_param(PROGRESS_REPACK_COMMAND,
PROGRESS_REPACK_COMMAND_REPACK);
else if (cmd == REPACK_COMMAND_CLUSTER)
{
pgstat_progress_update_param(PROGRESS_REPACK_COMMAND,
PROGRESS_CLUSTER_COMMAND_CLUSTER);
} else ....
'{' and '}' looks a little bit weird.
--------
Documentation of pg_repackdb contains a lot of "analyze" and even
"--analyze" parameter - but I can't see anything related in the code.
Best regards,
Mikhail.