[postgis-devel] GiST Sorting

Regina Obe lr at pcorp.us
Wed Dec 1 08:30:32 PST 2021


> Initially there was a patch in patchset making user specify sorting function
> during CREATE INDEX ON table USING gist(column) WITH
> (sortfunction=zcurve). But everyone said that it's unnessecary complication and
> we just made the function part of the opclass.
> But sorting build was not meant to be default!
> 
> I'm going to work on this in December, so let's figure out what exactly do we
> want from PostgreSQL 15?
> 
> I'm planning to work on:
> 1. Fix the concurrency problem in IndexOnlyScan that Peter G. pointed out [0]
> This will further slow down GiST queries a little, sorry.
> 2. Sorting items within leaf page in tid order, not provided sorting function.
> 3. Make better splits of leaf pages. Currently we choose how to split leaf pages
> solely by sorting function. I want to use split function too. This will consume
> slightly more memory, but will build better index.
> 
> Do we need some functionality to easily enable\disable sorting build? I think
> chances are very high that we can make it better. But it still will be neither
> perfect, nor better than buffered build.
> 
> Thanks!
> 
> Best regards, Andrey Borodin.
[Regina Obe] 
I don't think I was in this discussion about CREATE INDEX ON table USING gist(column) WITH
> (sortfunction=zcurve).

What was the unnecessary complication?  Was it deemed "user-facing" too complicated
 or "under the hood" too complicated.

For user-facing I don't see it as too complicated.  Granted it is a bit extra.
But if it is deemed always not the absolute best, I feel a configure option is fine.
It's only giving users redundant equally good options that I would consider too complicated.




More information about the postgis-devel mailing list