postgresql/src/backend/catalog
Michael Paquier c5b286047c Add TABLESPACE option to REINDEX
This patch adds the possibility to move indexes to a new tablespace
while rebuilding them.  Both the concurrent and the non-concurrent cases
are supported, and the following set of restrictions apply:
- When using TABLESPACE with a REINDEX command that targets a
partitioned table or index, all the indexes of the leaf partitions are
moved to the new tablespace.  The tablespace references of the non-leaf,
partitioned tables in pg_class.reltablespace are not changed. This
requires an extra ALTER TABLE SET TABLESPACE.
- Any index on a toast table rebuilt as part of a parent table is kept
in its original tablespace.
- The operation is forbidden on system catalogs, including trying to
directly move a toast relation with REINDEX.  This results in an error
if doing REINDEX on a single object.  REINDEX SCHEMA, DATABASE and
SYSTEM skip system relations when TABLESPACE is used.

Author: Alexey Kondratov, Michael Paquier, Justin Pryzby
Reviewed-by: Álvaro Herrera, Michael Paquier
Discussion: https://postgr.es/m/8a8f5f73-00d3-55f8-7583-1375ca8f6a91@postgrespro.ru
2021-02-04 14:34:20 +09:00
..
.gitignore Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
aclchk.c Allow GRANTED BY clause in normal GRANT and REVOKE statements 2021-01-30 09:45:11 +01:00
catalog.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
Catalog.pm Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
dependency.c SEARCH and CYCLE clauses 2021-02-01 14:32:51 +01:00
genbki.pl Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
heap.c Prevent drop of tablespaces used by partitioned relations 2021-01-14 15:32:14 -03:00
index.c Add TABLESPACE option to REINDEX 2021-02-04 14:34:20 +09:00
indexing.c Pass down "logically unchanged index" hint. 2021-01-13 08:11:00 -08:00
information_schema.sql Update copyright for 2021 2021-01-02 13:06:25 -05:00
Makefile Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
namespace.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
objectaccess.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
objectaddress.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
partition.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_aggregate.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_cast.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_collation.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_constraint.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_conversion.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_db_role_setting.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_depend.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_enum.c Rename "enum blacklist" to "uncommitted enums". 2021-01-05 12:38:48 +13:00
pg_inherits.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_largeobject.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_namespace.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_operator.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_proc.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_publication.c Fix error with CREATE PUBLICATION, wal_level=minimal, and new tables. 2021-01-30 00:11:38 -08:00
pg_range.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_shdepend.c Prevent drop of tablespaces used by partitioned relations 2021-01-14 15:32:14 -03:00
pg_subscription.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_type.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
sql_feature_packages.txt Cleanup in SQL features files 2020-03-28 08:46:18 +01:00
sql_features.txt Allow GRANTED BY clause in normal GRANT and REVOKE statements 2021-01-30 09:45:11 +01:00
storage.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
system_views.sql Add pg_stat_database counters for sessions and session time 2021-01-17 13:52:31 +01:00
toasting.c Update copyright for 2021 2021-01-02 13:06:25 -05:00