@ -46,6 +46,31 @@ CREATE TABLE ptif_test2 PARTITION OF ptif_test
-- This partitioned table should remain with no partitions.
CREATE TABLE ptif_test3 PARTITION OF ptif_test
FOR VALUES FROM (200) TO (maxvalue) PARTITION BY list (b);
-- Test pg_partition_root for tables
SELECT pg_partition_root('ptif_test');
pg_partition_root
-------------------
ptif_test
(1 row)
SELECT pg_partition_root('ptif_test0');
pg_partition_root
-------------------
ptif_test
(1 row)
SELECT pg_partition_root('ptif_test01');
pg_partition_root
-------------------
ptif_test
(1 row)
SELECT pg_partition_root('ptif_test3');
pg_partition_root
-------------------
ptif_test
(1 row)
-- Test index partition tree
CREATE INDEX ptif_test_index ON ONLY ptif_test (a);
CREATE INDEX ptif_test0_index ON ONLY ptif_test0 (a);
@ -60,6 +85,31 @@ CREATE INDEX ptif_test2_index ON ptif_test2 (a);
ALTER INDEX ptif_test_index ATTACH PARTITION ptif_test2_index;
CREATE INDEX ptif_test3_index ON ptif_test3 (a);
ALTER INDEX ptif_test_index ATTACH PARTITION ptif_test3_index;
-- Test pg_partition_root for indexes
SELECT pg_partition_root('ptif_test_index');
pg_partition_root
-------------------
ptif_test_index
(1 row)
SELECT pg_partition_root('ptif_test0_index');
pg_partition_root
-------------------
ptif_test_index
(1 row)
SELECT pg_partition_root('ptif_test01_index');
pg_partition_root
-------------------
ptif_test_index
(1 row)
SELECT pg_partition_root('ptif_test3_index');
pg_partition_root
-------------------
ptif_test_index
(1 row)
-- List all tables members of the tree
SELECT relid, parentrelid, level, isleaf
FROM pg_partition_tree('ptif_test');