>So on average in a large randomly filled index, pages spend more time nearer 50% full than 100% full.
I think we can make this number more...controllable. Before split we can check whether left and right pages both are in shared buffer and if they are seriously under certain fillfactor, say under 75%. We can unload some of data there instead of spliting. This will slow down insertions a bit, but we can have any fillfactor we want for random inserts. I mean, for sure, someone can construct bad input to gain low fillfactor, like it is with qsort ( http://www.cs.dartmouth.edu/~doug/mdmspe.pdf ), but every real scenario will not trigger this behavior. But then we have to think about locks, WALs etc. Best regards, Andrey Borodin, Octonica & Ural Federal University. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers