mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-31 12:07:23 +02:00
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 |
||
---|---|---|
.. | ||
.gitignore | ||
aclchk.c | ||
catalog.c | ||
Catalog.pm | ||
dependency.c | ||
genbki.pl | ||
heap.c | ||
index.c | ||
indexing.c | ||
information_schema.sql | ||
Makefile | ||
namespace.c | ||
objectaccess.c | ||
objectaddress.c | ||
partition.c | ||
pg_aggregate.c | ||
pg_cast.c | ||
pg_collation.c | ||
pg_constraint.c | ||
pg_conversion.c | ||
pg_db_role_setting.c | ||
pg_depend.c | ||
pg_enum.c | ||
pg_inherits.c | ||
pg_largeobject.c | ||
pg_namespace.c | ||
pg_operator.c | ||
pg_proc.c | ||
pg_publication.c | ||
pg_range.c | ||
pg_shdepend.c | ||
pg_subscription.c | ||
pg_type.c | ||
sql_feature_packages.txt | ||
sql_features.txt | ||
storage.c | ||
system_views.sql | ||
toasting.c |