diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/indexing.out /tmp/cirrus-ci-build/src/test/regress/results/indexing.out --- /tmp/cirrus-ci-build/src/test/regress/expected/indexing.out 2026-04-22 22:56:05.589477426 +0000 +++ /tmp/cirrus-ci-build/src/test/regress/results/indexing.out 2026-04-22 23:03:18.496628139 +0000 @@ -559,41 +559,46 @@ ERROR: division by zero select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; - relname | indisvalid ---------------------+------------ - idxpart11_expr_idx | f - idxpart1_expr_idx | f - idxpart2_expr_idx | t - idxpart_expr_idx | f + relname | indisvalid +-------------------+------------ + idxpart11_a_b_idx | f + idxpart1_a_b_idx | f + idxpart2_a_b_idx | t + idxpart_a_b_idx | f (4 rows) -- attach the indexes; parents stay invalid alter index idxpart1_expr_idx attach partition idxpart11_expr_idx; +ERROR: relation "idxpart1_expr_idx" does not exist alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +ERROR: relation "idxpart_expr_idx" does not exist alter index idxpart_expr_idx attach partition idxpart2_expr_idx; +ERROR: relation "idxpart_expr_idx" does not exist select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; - relname | indisvalid ---------------------+------------ - idxpart11_expr_idx | f - idxpart1_expr_idx | f - idxpart2_expr_idx | t - idxpart_expr_idx | f + relname | indisvalid +-------------------+------------ + idxpart11_a_b_idx | f + idxpart1_a_b_idx | f + idxpart2_a_b_idx | t + idxpart_a_b_idx | f (4 rows) -- fix the index on the leaf partition delete from idxpart11 where b = 0; reindex index concurrently idxpart11_expr_idx; +ERROR: relation "idxpart11_expr_idx" does not exist -- reattach the leaf partition index; parents should now be valid alter index idxpart1_expr_idx attach partition idxpart11_expr_idx; +ERROR: relation "idxpart1_expr_idx" does not exist select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; - relname | indisvalid ---------------------+------------ - idxpart11_expr_idx | t - idxpart1_expr_idx | t - idxpart2_expr_idx | t - idxpart_expr_idx | t + relname | indisvalid +-------------------+------------ + idxpart11_a_b_idx | f + idxpart1_a_b_idx | f + idxpart2_a_b_idx | t + idxpart_a_b_idx | f (4 rows) drop table idxpart; @@ -612,37 +617,41 @@ ERROR: division by zero select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; - relname | indisvalid --------------------+------------ - idxpart1_expr_idx | f - idxpart2_expr_idx | f - idxpart_expr_idx | f + relname | indisvalid +------------------+------------ + idxpart1_a_b_idx | f + idxpart2_a_b_idx | f + idxpart_a_b_idx | f (3 rows) -- attach both; parent stays invalid alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +ERROR: relation "idxpart_expr_idx" does not exist alter index idxpart_expr_idx attach partition idxpart2_expr_idx; +ERROR: relation "idxpart_expr_idx" does not exist select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; - relname | indisvalid --------------------+------------ - idxpart1_expr_idx | f - idxpart2_expr_idx | f - idxpart_expr_idx | f + relname | indisvalid +------------------+------------ + idxpart1_a_b_idx | f + idxpart2_a_b_idx | f + idxpart_a_b_idx | f (3 rows) -- fix only idxpart1's index, leave idxpart2's still invalid delete from idxpart1 where b = 0; reindex index concurrently idxpart1_expr_idx; +ERROR: relation "idxpart1_expr_idx" does not exist -- re-attach the fixed child; parent should stay invalid alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +ERROR: relation "idxpart_expr_idx" does not exist select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; - relname | indisvalid --------------------+------------ - idxpart1_expr_idx | t - idxpart2_expr_idx | f - idxpart_expr_idx | f + relname | indisvalid +------------------+------------ + idxpart1_a_b_idx | f + idxpart2_a_b_idx | f + idxpart_a_b_idx | f (3 rows) drop table idxpart;