postgresql/src/include
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
..
access Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZE 2021-01-17 22:28:26 +01:00
bootstrap Update copyright for 2021 2021-01-02 13:06:25 -05:00
catalog Add TABLESPACE option to REINDEX 2021-02-04 14:34:20 +09:00
commands Refactor code in tablecmds.c to check and process tablespace moves 2021-01-27 11:54:16 +09:00
common Introduce SHA1 implementations in the cryptohash infrastructure 2021-01-23 11:33:04 +09:00
datatype Update copyright for 2021 2021-01-02 13:06:25 -05:00
executor Rethink recently-added SPI interfaces. 2021-01-26 16:37:12 -05:00
fe_utils Factor pattern-construction logic out of processSQLNamePattern. 2021-02-03 13:19:41 -05:00
foreign Implement support for bulk inserts in postgres_fdw 2021-01-20 23:57:27 +01:00
jit Update copyright for 2021 2021-01-02 13:06:25 -05:00
lib Update copyright for 2021 2021-01-02 13:06:25 -05:00
libpq Update copyright for 2021 2021-01-02 13:06:25 -05:00
mb Add mbverifystr() functions specific to each encoding. 2021-01-28 14:40:07 +02:00
nodes Remove [Merge]AppendPath.partitioned_rels. 2021-02-01 14:43:54 -05:00
optimizer Remove [Merge]AppendPath.partitioned_rels. 2021-02-01 14:43:54 -05:00
parser SEARCH and CYCLE clauses 2021-02-01 14:32:51 +01:00
partitioning Remove [Merge]AppendPath.partitioned_rels. 2021-02-01 14:43:54 -05:00
port Minor header cleanup for the new iovec code. 2021-01-14 18:30:17 +13:00
portability Update copyright for 2021 2021-01-02 13:06:25 -05:00
postmaster Update copyright for 2021 2021-01-02 13:06:25 -05:00
regex Update copyright for 2021 2021-01-02 13:06:25 -05:00
replication Allow decoding at prepare time in ReorderBuffer. 2021-01-04 08:34:50 +05:30
rewrite SEARCH and CYCLE clauses 2021-02-01 14:32:51 +01:00
snowball Update copyright for 2021 2021-01-02 13:06:25 -05:00
statistics Update copyright for 2021 2021-01-02 13:06:25 -05:00
storage Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions. 2021-01-30 00:00:27 -08:00
tcop Update copyright for 2021 2021-01-02 13:06:25 -05:00
tsearch Update copyright for 2021 2021-01-02 13:06:25 -05:00
utils Implementation of subscripting for jsonb 2021-01-31 23:50:40 +03:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
c.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
fmgr.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
funcapi.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
getaddrinfo.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
getopt_long.h 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
miscadmin.h Add idle_session_timeout. 2021-01-06 18:28:52 -05:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Replace CLOBBER_CACHE_ALWAYS with run-time GUC 2021-01-06 10:46:44 +01:00
pg_config.h.in Introduce --with-ssl={openssl} as a configure option 2021-02-01 19:19:44 +09:00
pg_getopt.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_trace.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgstat.h Bump PGSTAT_FILE_FORMAT_ID 2021-01-18 17:51:49 +01:00
pgtar.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pgtime.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
port.h Provide pg_preadv() and pg_pwritev(). 2021-01-11 15:24:38 +13:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
postgres.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
rusagestub.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
windowapi.h Update copyright for 2021 2021-01-02 13:06:25 -05:00