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.