Teodor Sigaev <teodor@sigaev.ru> writes:
>> I'm not following. Rightmost page of what --- it can't be the whole
>> index, can it, or the case would hardly ever apply?
> GIN's index contains btree over keys (entry tree) and for each key it
> contains list of ItemPointers (posting list) or btree over ItemPointers
> (posting tree or data tree) depending on its quantity. Bulk insertion
> process collects into memory keys and sorted arrays of ItemPointers, and
> then for each keys, it tries to insert every ItemPointer from array into
> corresponding data tree one by one. But if the smallest ItemPointer in
> array is greater than the biggest stored one then algorithm will insert
> the whole array on rightmost page in data tree.
> So, in that case process can insert about 1000 ItemPointers per one data
> tree lookup, in opposite case it does 1000 lookups in data tree.
I see. So this could explain Ivan's issue if his table contains large
numbers of repeated GIN keys. Ivan, is that what your data looks like?
regards, tom lane