From: | Robert Treat <rob(at)xzilla(dot)net> |
---|---|
To: | Antonin Houska <ah(at)cybertec(dot)at> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Adding REPACK [concurrently] |
Date: | 2025-08-16 13:41:57 |
Message-ID: | CABV9wwPvkOLQ2o_4L6Sy3_fq-hJo9NL3a2n91CdPR0O3g2QshQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Aug 5, 2025 at 4:59 AM Antonin Houska <ah(at)cybertec(dot)at> wrote:
>
> Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
>
> > I made a few changes from Antonin's original at [2]. First, I modified
> > the grammar to support "REPACK [tab] USING INDEX" without specifying the
> > index name. With this change, all possibilities of the old commands are
> > covered,
>
> ...
>
> > Here's a list of existing commands, and how to write them in the current
> > patch's proposal for REPACK:
> >
> > -- re-clusters all tables that have a clustered index set
> > CLUSTER -> REPACK USING INDEX
> >
> > -- clusters the given table using the given index
> > CLUSTER tab USING idx -> REPACK tab USING INDEX idx
> >
> > -- clusters this table using a clustered index; error if no index clustered
> > CLUSTER tab -> REPACK tab USING INDEX
> >
In the v18 patch, the docs say that repack doesn't remember the index,
but it seems we are still calling mark_index_clustered, so I think the
above is true but we need to update the docs(?).
> > -- vacuum-full all tables
> > VACUUM FULL -> REPACK
> >
> > -- vacuum-full the specified table
> > VACUUM FULL tab -> REPACK tab
> >
>
> Now that we want to cover the CLUSTER/VACUUM FULL completely, I've checked the
> options of VACUUM FULL. I found two items not supported by REPACK (but also
> not supported by by CLUSTER): ANALYZE and SKIP_DATABASE_STATS. Maybe just
> let's mention that in the user documentation of REPACK?
>
I would note that both pg_repack and pg_squeeze analyze by default,
and running "vacuum full analyze" is the recommended behavior, so not
having analyze included is a step backwards.
> (Besides that, VACUUM FULL accepts TRUNCATE and INDEX_CLEANUP options, but I
> think these have no effect.)
>
Yeah, these seem safe to ignore.
Robert Treat
https://xzilla.net
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Burd | 2025-08-16 14:00:09 | Re: `pg_ctl init` crashes when run concurrently; semget(2) suspected |
Previous Message | Álvaro Herrera | 2025-08-16 12:59:42 | Re: Retail DDL |