Re: Order changes in PG16 since ICU introduction
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
On 21.04.23 19:14, Peter Eisentraut wrote: > On 21.04.23 19:09, Sandro Santilli wrote: >> On Fri, Apr 21, 2023 at 11:48:51AM -0400, Tom Lane wrote: >>> "Regina Obe" <lr@pcorp.us> writes: >>> >>>> https://trac.osgeo.org/postgis/ticket/5375 >>> >>> If they actually are using locale C, I would say this is a bug. >>> That should designate memcmp sorting and nothing else. >> >> Sounds like a bug to me. This is happening with a PostgreSQL cluster >> created and served by a build of commit c04c6c5d6f : >> >> =# select version(); >> PostgreSQL 16devel on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu >> 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit >> =# show lc_collate; >> C >> =# select '+' < '-'; >> f > > If the database is created with locale provider ICU, then lc_collate > does not apply here, so the result might be correct (depending on what > locale you have set). The GUC settings lc_collate and lc_ctype are from a time when those locale settings were cluster-global. When we made those locale settings per-database (PG 8.4), we kept them as read-only. As of PG 15, you can use ICU as the per-database locale provider, so what is being attempted in the above example is already meaningless before PG 16, since you need to look into pg_database to find out what is really happening. I think we should just remove the GUC parameters lc_collate and lc_ctype.
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Introduce "builtin" collation provider.
- 2d819a08a1cb 17.0 landed
-
ICU: do not convert locale 'C' to 'en-US-u-va-posix'.
- f3a01af29b19 16.0 landed
- f7faa9976cc0 16.0 landed
-
initdb: change default --locale-provider back to libc.
- 2535c74b1a61 16.0 landed
-
CREATE DATABASE: make LOCALE apply to all collation providers.
- a14e75eb0b6a 16.0 landed
-
Remove read-only server settings lc_collate and lc_ctype
- b0f6c437160d 16.0 landed
-
ICU: use uloc_getDefault() for initdb.
- ec1264f01e37 16.0 landed
-
Doc fixes for commit 1e16af8ab5.
- f4a9422c0c37 16.0 landed
-
Doc: fix some rendering problems in the PDF docs build.
- b62381d9a23b 16.0 landed
-
Doc improvements for language tags and custom ICU collations.
- 1e16af8ab5d7 16.0 landed
-
ICU: check for U_STRING_NOT_TERMINATED_WARNING.
- 1c634f6647c2 16.0 landed
-
Reduce icu_validation_level default to WARNING.
- 6de31ce446e5 16.0 landed
-
Revert "ICU: do not convert locale 'C' to 'en-US-u-va-posix'."
- 455f948b0d03 16.0 landed
-
Fix initdb --no-locale.
- 5cd1a5af4d17 16.0 landed
-
Avoid character classification in regex escape parsing.
- c04c6c5d6f5f 16.0 cited