Re: [PATCH] Fix: Partitioned parent index remains invalid after child indexes are repaired - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: [PATCH] Fix: Partitioned parent index remains invalid after child indexes are repaired
Date
Msg-id ad1rubGPdHxNnDh5@paquier.xyz
Whole thread Raw
In response to Re: [PATCH] Fix: Partitioned parent index remains invalid after child indexes are repaired  (Sami Imseih <samimseih@gmail.com>)
Responses Re: [PATCH] Fix: Partitioned parent index remains invalid after child indexes are repaired
List pgsql-hackers
On Sat, Apr 11, 2026 at 11:10:54AM -0500, Sami Imseih wrote:
> I don't think that a REINDEX should attempt to set the parent index indisvalid.
> It seems the responsibility for this falls squarely on the ATTACH
> PARTITION command,
> as it currently does.

Relying on REINDEX is not optimal, as it would mean that all the
partitioned indexes would need to be updated before flipping the flag.
If the indisvalid flags of the partitions are already true, this would
be a huge waste of resources.

> Would the right solution here be to try to have the ATTACH PARTITION  check if
> the parent index is not valid, then validatePartitionedIndex() ?

This may be a backpatchable thing, even if it requires one to detach
one partition before attaching it again, or attach a fake partition to
force a flip of the flag, before detaching this fake partition.

One better alternative that I could think of is a new flavor of ALTER
TABLE, like a ALTER TABLE foo VALIDATE PARTITION (no partition name
here) focused on flipping the indisvalid flags?  This would not be
backpatchable, but it would make the whole flow lighter by not
requiring a redefinition of one partition.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: John Mikk
Date:
Subject: POC: Comparison of partitioning key values
Next
From: Tatsuo Ishii
Date:
Subject: Re: Row pattern recognition