Heikki Linnakangas <heikki@enterprisedb.com> writes:
> I think I found it. The page splitting code didn't take into account
> that when the new item is the first one on the right page, it also
> becomes the high key of the left page.
Good catch! This is something that would not make a difference with
equal-sized keys (a very common case) and also would never matter unless
the "best available" split was pretty awful, which would require very
large index entries. So that explains why it'd not been seen before.
AFAICS the bug must go back a long way though; I'm not sure why Joe
failed to reproduce on 8.1. Did we change the size of the page overhead
in btree indexes recently?
regards, tom lane