diff options
author | Michael Paquier <michael@paquier.xyz> | 2020-03-03 10:12:49 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2020-03-03 10:12:49 +0900 |
commit | f087d63a45b5935b5c15cecb7d88f140d5cc8b7c (patch) | |
tree | da946cd0d358d51d464aa96d929fb95195411160 /src/test/regress/sql/create_index.sql | |
parent | 3b5709e664c44c75c1d27a20c59fdbb0dec3ded5 (diff) | |
download | postgresql-f087d63a45b5935b5c15cecb7d88f140d5cc8b7c.tar.gz postgresql-f087d63a45b5935b5c15cecb7d88f140d5cc8b7c.zip |
Preserve pg_index.indisclustered across REINDEX CONCURRENTLY
If the flag value is lost, a CLUSTER query following REINDEX
CONCURRENTLY could fail. Non-concurrent REINDEX is already handling
this case consistently.
Author: Justin Pryzby
Discussion: https://postgr.es/m/20200229024202.GH29456@telsasoft.com
Backpatch-through: 12
Diffstat (limited to 'src/test/regress/sql/create_index.sql')
-rw-r--r-- | src/test/regress/sql/create_index.sql | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/test/regress/sql/create_index.sql b/src/test/regress/sql/create_index.sql index e4c4272a2c9..fb7da725ff0 100644 --- a/src/test/regress/sql/create_index.sql +++ b/src/test/regress/sql/create_index.sql @@ -852,6 +852,15 @@ SELECT obj_description('testcomment_idx1'::regclass, 'pg_class'); REINDEX TABLE CONCURRENTLY testcomment ; SELECT obj_description('testcomment_idx1'::regclass, 'pg_class'); DROP TABLE testcomment; +-- Check that indisclustered updates are preserved +CREATE TABLE concur_clustered(i int); +CREATE INDEX concur_clustered_i_idx ON concur_clustered(i); +ALTER TABLE concur_clustered CLUSTER ON concur_clustered_i_idx; +REINDEX TABLE CONCURRENTLY concur_clustered; +SELECT indexrelid::regclass, indisclustered FROM pg_index + WHERE indrelid = 'concur_clustered'::regclass; +DROP TABLE concur_clustered; + -- Partitions -- Create some partitioned tables CREATE TABLE concur_reindex_part (c1 int, c2 int) PARTITION BY RANGE (c1); |