Hello Antonin and Alvaro,
10.04.2026 13:57, Antonin Houska wrote:
Attached is a fix that works for me.
Nevertheless, REPACK (CONCURRENTLY) in your test goes ahead only due to commit
0d3dba38c7, which will probably be reverted [1]. Then REPACK will wait for the
transaction in the other database (db1) to complete before it can actually
start.
Thank you for the fix!
I've stumbled upon one more issue with this feature:
CREATE TABLE t (i int PRIMARY KEY);
REPACK (CONCURRENTLY) t;
fails for me with sanitizers enabled and
min_dynamic_shared_memory = '1GB'
in postgresql.conf as below:
2026-04-12 13:23:02.000 UTC [2733633] LOG: statement: REPACK (CONCURRENTLY) t;
repack.c:3373:15: runtime error: load of value 240, which is not a valid value for type '_Bool'
#0 0x6441f7eba454 in start_repack_decoding_worker .../src/backend/commands/repack.c:3373
#1 0x6441f7ebdaad in rebuild_relation .../src/backend/commands/repack.c:1010
#2 0x6441f7ebe9a2 in cluster_rel .../src/backend/commands/repack.c:656
#3 0x6441f7ebefea in process_single_relation .../src/backend/commands/repack.c:2359
#4 0x6441f7ebf870 in ExecRepack .../src/backend/commands/repack.c:296
#5 0x6441f886f20e in standard_ProcessUtility .../src/backend/tcop/utility.c:867
...
2026-04-12 13:23:03.620 UTC [2733620] LOG: client backend (PID 2733633) was terminated by signal 6: Aborted
2026-04-12 13:23:03.620 UTC [2733620] DETAIL: Failed process was running: REPACK (CONCURRENTLY) t;
Could you please have a look?
Best regards,
Alexander