Alvaro Herrera <alvherre@alvh.no-ip.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
>
> -- 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?
(Besides that, VACUUM FULL accepts TRUNCATE and INDEX_CLEANUP options, but I
think these have no effect.)
--
Antonin Houska
Web: https://www.cybertec-postgresql.com