Peter Geoghegan <pg@heroku.com> writes:
> I like this idea. Should I write a patch?
BTW, while you're at it: it strikes me that the threshold should be
either min(NBuffers, maintenance_work_mem) or
min(NLocBuffer, maintenance_work_mem), depending on whether we're
talking about a regular or temp table/index. That is, there's a
pre-existing bug here that when NLocBuffer is a good deal less than
NBuffers (which is the typical case nowadays) you'll get a lot of
thrashing between local buffers and kernel cache, if the index isn't
quite big enough to trigger the sorting code. This might not manifest
as actual I/O, but it's not the intended behavior either.
regards, tom lane