On Mon, Dec 9, 2024 at 3:51 PM Michail Nikolaev <michail.nikol...@gmail.com> wrote: > After some time, I managed to find a way to reproduce the issue. It turns out > that bt_index_parent_check is not suitable for validating indexes built > concurrently.
Good catch. > I’ve attached a patch that reproduces the issue (it incorrectly reports the > index as invalid, even though it is actually valid). > > I’m unsure of the best way to address this issue, but here are some possible > options: > * Simply update the documentation. > * Issue a WARNING if !tupleIsAlive. > * Modify bt_index_parent_check to use an MVCC snapshot for the heap scan Offhand, I think that using an MVCC snapshot would make the most sense. It's not as if there is a big benefit to not doing so with bt_index_parent_check. My recollection is that we did it this way because it was as close as possible to the CREATE INDEX code that heapallindexed verification was loosely based on. -- Peter Geoghegan