Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> On 2019-Jan-10, PG Bug reporting form wrote:
>> ALTER TABLE ONLY t1 ADD CONSTRAINT uniq_t1_i1_i2 UNIQUE (i1, i2);
>> [ leads to ]
>> Indexes:
>> "uniq_t1_i1_i2" UNIQUE CONSTRAINT, btree (i1, i2) INVALID
> I'm not clear what problem you're reporting. If you use ONLY, then the
> command doesn't cascade to create the index on partitions, and the index
> is marked invalid. If you add the constraint to each partition and
> ALTER INDEX ATTACH PARTITION, the index on t1 should become valid when
> every partition of the table has its index.
I concur that the code is operating as designed. I think however that
there's a user-experience problem here, which is that INVALID suggests
that something's broken. I wonder if we could improve matters by
making psql and the docs describe this state of a partitioned index
as INCOMPLETE.
regards, tom lane