Thread: Natural sort order extension.
Hi, I've implemented a PostgreSQL extension for natural sort order. I.e. strings like "z20", "z0004", "z11", "z2" sorted in ascending order as "z2", "z0004", "z11", "z20". Currently it implements the type textnso which is binary-coercible to/from the text type. It's possible to declare table columns of type textnso and create indexes on them. Details are here https://github.com/dmitigr/pgnso Any feedback are welcome! Thanks.
On Wed, 2020-02-12 at 18:45 +0300, Dmitry Igrishin wrote: > I've implemented a PostgreSQL extension for natural sort order. I.e. > strings like "z20", "z0004", "z11", "z2" sorted in ascending order as > "z2", "z0004", "z11", "z20". > > Currently it implements the type textnso which is binary-coercible > to/from the text type. It's possible to declare table columns of type > textnso and create indexes on them. > > Details are here https://github.com/dmitigr/pgnso > > Any feedback are welcome! I don't want to detract from this, but from PostgreSQL v10 on you can use ICU collations with the "kn-true" variant to have natural sort order. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com
On Wed, 12 Feb 2020, 19:55 Laurenz Albe, <laurenz.albe@cybertec.at> wrote:
On Wed, 2020-02-12 at 18:45 +0300, Dmitry Igrishin wrote:
> I've implemented a PostgreSQL extension for natural sort order. I.e.
> strings like "z20", "z0004", "z11", "z2" sorted in ascending order as
> "z2", "z0004", "z11", "z20".
>
> Currently it implements the type textnso which is binary-coercible
> to/from the text type. It's possible to declare table columns of type
> textnso and create indexes on them.
>
> Details are here https://github.com/dmitigr/pgnso
>
> Any feedback are welcome!
I don't want to detract from this, but from PostgreSQL v10 on you can use
ICU collations with the "kn-true" variant to have natural sort order.
Thanks for the point. But my extension works with default collation and UTF-8 encoding. And ICU is not required.