pgsql: Allow CLUSTER on partitioned tables

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Allow CLUSTER on partitioned tables
Date: 2022-04-02 17:09:45
Message-ID: E1nahFw-0000fn-Oj@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Allow CLUSTER on partitioned tables

This is essentially the same as applying VACUUM FULL to a partitioned
table, which has been supported since commit 3c3bb99330aa (March 2017).
While there's no great use case in applying CLUSTER to partitioned
tables, we don't have any strong reason not to allow it either.

For now, partitioned indexes cannot be marked clustered, so an index
must always be specified.

While at it, rename some variables that were RangeVars during the
development that led to 8bc717cb8878 but never made it that way to the
source tree; there's no need to perpetuate names that have always been
more confusing than helpful.

Author: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Reviewed-by: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
Discussion: https://postgr.es/m/20201028003312.GU9241@telsasoft.com
Discussion: https://postgr.es/m/20200611153502.GT14879@telsasoft.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cfdd03f45e6afc632fbe70519250ec19167d6765

Modified Files
--------------
doc/src/sgml/ref/cluster.sgml | 7 +
src/backend/commands/cluster.c | 249 ++++++++++++++++++++++------------
src/backend/commands/tablecmds.c | 10 +-
src/bin/psql/tab-complete.c | 1 +
src/include/commands/cluster.h | 8 +-
src/test/regress/expected/cluster.out | 47 ++++++-
src/test/regress/sql/cluster.sql | 24 +++-
7 files changed, 249 insertions(+), 97 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Joe Conway 2022-04-02 17:25:12 pgsql: Use has_privs_for_roles for predefined role checks: round 2
Previous Message Peter Geoghegan 2022-04-02 16:50:41 pgsql: Doc: Remove MultiXact wraparound section link.