Re: Adding REPACK [concurrently]
От | Fujii Masao |
---|---|
Тема | Re: Adding REPACK [concurrently] |
Дата | |
Msg-id | CAHGQGwELP6OAOprxjkS5iYSj1KXKmVPULJyYMddE7-uRxrSP_Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Adding REPACK [concurrently] (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Ответы |
Re: Adding REPACK [concurrently]
|
Список | pgsql-hackers |
On Sun, Jul 27, 2025 at 6:56 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > > Hello, > > Here's a patch to add REPACK and eventually the CONCURRENTLY flag to it. > This is coming from [1]. The ultimate goal is to have an in-core tool > to allow concurrent table rewrite to get rid of bloat; +1 > right now, VACUUM > FULL does that, but it's not concurrent. Users have resorted to using > the pg_repack third-party tool, which is ancient and uses a weird > internal implementation, as well as pg_squeeze, which uses logical > decoding to capture changes that occur during the table rewrite. The > patch submitted here, largely by Antonin Houska with some changes by me, > is based on the the pg_squeeze code which he authored, and first > introduces a new command called REPACK to absorb both VACUUM FULL and > CLUSTER, followed by addition of a CONCURRENTLY flag to allow some forms > of REPACK to operate online using logical decoding. Does this mean REPACK CONCURRENTLY requires wal_level = logical, while plain REPACK (without CONCURRENTLY) works with any wal_level setting? If we eventually deprecate VACUUM FULL and CLUSTER, I think plain REPACK should still be allowed with wal_level = minimal or replica, so users with those settings can perform equivalent processing. + if (!cluster_is_permitted_for_relation(tableOid, userid, + CLUSTER_COMMAND_CLUSTER)) As for the patch you attached, it seems to be an early WIP and might not be ready for review yet?? BTW, I got the following compilation failure and probably CLUSTER_COMMAND_CLUSTER the above should be GetUserId(). ----------------- cluster.c:455:14: error: use of undeclared identifier 'CLUSTER_COMMAND_CLUSTER' 455 | CLUSTER_COMMAND_CLUSTER)) | ^ 1 error generated. ----------------- Regards, -- Fujii Masao
В списке pgsql-hackers по дате отправления: