I've just committed page level predicate locking support for GiST
indexes to the git repository. This included adding a function to
test, from any backend, whether a particular page has a page level
predicate lock on it. It seemed to me that I needed that to prevent
vacuum from cleaning up pages which were still part of the potential
conflict set. It may also be a start toward what some others are
looking for in general predicate locking support.
Dan, are you looking at either of the remaining index AMs that need
work (hash and GIN) before we suggest this as committable?
Differential patch for this bit of work, as well as a new patch "for
the record" -- including fixes for various issues found by Joe. I
think we're going to be in position to present a patch for
consideration for commit to the next CF; any suggestions on problems
we should fix before then are most welcome.