Robert Haas <robertmhaas@gmail.com> writes:
> Another thought is that if the problem is limited to the root index
> block, then we could consider less general solutions, like allowing
> backends to cache the root index block and sending some kind of
> invalidation when it gets split.
Possibly worth noting here that we already do exactly that for btree
metapages. However, I believe that case is a bit different, in that
using slightly stale metapage data is nonfatal. Also, anything like
this can be a win only if the cached data can be expected to have pretty
long lifetime; so you would not want to cache the root page until the
index had gotten large enough that root page changes were infrequent.
Not sure how that could be mechanized ...
regards, tom lane