Thread: pgsql: Allow CLUSTER on partitioned tables

pgsql: Allow CLUSTER on partitioned tables

From
Alvaro Herrera
Date:
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@telsasoft.com>
Reviewed-by: Matthias van de Meent <boekewurm+postgres@gmail.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(-)