select indexrelid::regclass, indrelid::regclass, inhparent::regclass
from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid)
where indexrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
indexrelid | indrelid | inhparent
-----------------+-----------+---------------
- idxpart_a_idx | idxpart |
idxpart1_a_idx | idxpart1 | idxpart_a_idx
- idxpart2_a_idx | idxpart2 | idxpart_a_idx
idxpart22_a_idx | idxpart22 |
+ idxpart2_a_idx | idxpart2 | idxpart_a_idx
+ idxpart_a_idx | idxpart |
(4 rows)
alter index idxpart2_a_idx attach partition idxpart22_a_idx;
select indexrelid::regclass, indrelid::regclass, inhparent::regclass
from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid)
where indexrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
indexrelid | indrelid | inhparent
-----------------+-----------+----------------
- idxpart_a_idx | idxpart |
idxpart1_a_idx | idxpart1 | idxpart_a_idx
- idxpart2_a_idx | idxpart2 | idxpart_a_idx
idxpart22_a_idx | idxpart22 | idxpart2_a_idx
+ idxpart2_a_idx | idxpart2 | idxpart_a_idx
+ idxpart_a_idx | idxpart |
(4 rows)
-- attaching idxpart22 is not enough to set idxpart22_a_idx valid ...
select c.relname, pg_get_indexdef(indexrelid)
from pg_class c join pg_index i on c.oid = i.indexrelid
where indrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
relname | pg_get_indexdef
------------------+--------------------------------------------------------------
- idxparti | CREATE INDEX idxparti ON ONLY idxpart USING btree (a)
- idxparti2 | CREATE INDEX idxparti2 ON ONLY idxpart USING btree (c, b)
idxpart1_a_idx | CREATE INDEX idxpart1_a_idx ON idxpart1 USING btree (a)
idxpart1_c_b_idx | CREATE INDEX idxpart1_c_b_idx ON idxpart1 USING btree (c, b)
idxpart2_a_idx | CREATE INDEX idxpart2_a_idx ON idxpart2 USING btree (a)
idxpart2_c_b_idx | CREATE INDEX idxpart2_c_b_idx ON idxpart2 USING btree (c, b)
+ idxparti | CREATE INDEX idxparti ON ONLY idxpart USING btree (a)
+ idxparti2 | CREATE INDEX idxparti2 ON ONLY idxpart USING btree (c, b)
(6 rows)
drop table idxpart;
select c.relname, pg_get_indexdef(indexrelid)
from pg_class c join pg_index i on c.oid = i.indexrelid
where indrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
relname | pg_get_indexdef
------------------+-------------------------------------------------------------------
- idxpart_abs_idx | CREATE INDEX idxpart_abs_idx ON ONLY idxpart USING btree (abs(b))
idxpart1_abs_idx | CREATE INDEX idxpart1_abs_idx ON idxpart1 USING btree (abs(b))
idxpart2_abs_idx | CREATE INDEX idxpart2_abs_idx ON idxpart2 USING btree (abs(b))
+ idxpart_abs_idx | CREATE INDEX idxpart_abs_idx ON ONLY idxpart USING btree (abs(b))
(3 rows)
drop table idxpart;
select c.relname, pg_get_indexdef(indexrelid)
from pg_class c join pg_index i on c.oid = i.indexrelid
where indrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
relname | pg_get_indexdef
----------------+-----------------------------------------------------------------------------
- idxpart_a_idx | CREATE INDEX idxpart_a_idx ON ONLY idxpart USING btree (a) WHERE (b > 1000)
idxpart1_a_idx | CREATE INDEX idxpart1_a_idx ON idxpart1 USING btree (a) WHERE (b > 1000)
idxpart2_a_idx | CREATE INDEX idxpart2_a_idx ON idxpart2 USING btree (a) WHERE (b > 1000)
+ idxpart_a_idx | CREATE INDEX idxpart_a_idx ON ONLY idxpart USING btree (a) WHERE (b > 1000)
(3 rows)
drop table idxpart;
select indexrelid::regclass, indrelid::regclass, inhparent::regclass
from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid)
where indexrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
alter index idxpart2_a_idx attach partition idxpart22_a_idx;
select indexrelid::regclass, indrelid::regclass, inhparent::regclass
from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid)
where indexrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
-- attaching idxpart22 is not enough to set idxpart22_a_idx valid ...
alter index idxpart2_a_idx attach partition idxpart22_a_idx;
\d idxpart2
select c.relname, pg_get_indexdef(indexrelid)
from pg_class c join pg_index i on c.oid = i.indexrelid
where indrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
drop table idxpart;
-- Verify that columns are mapped correctly in expression indexes
select c.relname, pg_get_indexdef(indexrelid)
from pg_class c join pg_index i on c.oid = i.indexrelid
where indrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
drop table idxpart;
-- Verify that columns are mapped correctly for WHERE in a partial index
select c.relname, pg_get_indexdef(indexrelid)
from pg_class c join pg_index i on c.oid = i.indexrelid
where indrelid::regclass::text like 'idxpart%'
- order by indrelid::regclass::text collate "C";
+ order by indexrelid::regclass::text collate "C";
drop table idxpart;
-- Column number mapping: dropped columns in the partition