Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdscT-0066Rb-0d for pgsql-general@arkaria.postgresql.org; Thu, 08 Jan 2026 16:12:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdscR-0035QK-1J for pgsql-general@arkaria.postgresql.org; Thu, 08 Jan 2026 16:12:16 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdscR-0035Q9-0A for pgsql-general@lists.postgresql.org; Thu, 08 Jan 2026 16:12:15 +0000 Received: from dverite2024.planet-service.net ([185.16.44.252] helo=mail.verite.pro) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdscP-005Izj-0i for pgsql-general@postgresql.org; Thu, 08 Jan 2026 16:12:15 +0000 Received: by mail.verite.pro (Postfix, from userid 1000) id 127B02C0103; Thu, 8 Jan 2026 17:12:12 +0100 (CET) Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: Collation again here From: "Daniel Verite" To: "Rihad" Cc: Dominique Devienne , pgsql-general General In-Reply-To: <9f5996c1-abab-40da-8dd5-d56f483b22b1@gmail.com> Date: Thu, 08 Jan 2026 17:12:06 +0100 Message-Id: <61b32afa-14f9-41c5-9be0-635acc90bc48@manitou-mail.org> X-Mailer: Manitou v1.7.3 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Rihad wrote: > Looking into pg_collation system table that collation has=20 > collprovide=3D"c". First I thought "c" meant libc, but this article state= s=20 > that "c" means PG Internal provider, and libc would have been "l". >=20 > https://medium.com/@adarsh2801/understanding-collations-in-postgresql-648= e4fa333e1 >=20 > 1. */PostgreSQL Internal Provider (=E2=80=98c=E2=80=99) /*: Introduced in= Postgres 15. > This built-in collation support is System/OS agnostic. > 2. */System Library Provider (=E2=80=98l=E2=80=99) : /*Uses GNU C library= and hence is > OS locale dependent. > 3. */ICU =E2=80=94 International Components for Unicode (=E2=80=98i=E2=80= =99) : /*Uses ICU > library for unicode-aware collation. Well, this is quite wrong! See the doc at [1]: datlocprovider char Locale provider for this database: b =3D builtin, c =3D libc, i =3D icu Also, the builtin provider has been introduced in pg17, not 15, and 'l' has never been used in this field. It looks like hallucination from an AI model. Quickly reading the rest of the article, it's a mix of good points and very confusing assertions that would not be expected from a person proficient in the domain (for example: writing that en_us.UTF-8 is "case-insensitive") Unfortunately nowadays AI slop proliferates, so we need to be extra cautious on posts from untrusted sources. [1]: https://www.postgresql.org/docs/current/catalog-pg-database.html Best regards, --=20 Daniel V=C3=A9rit=C3=A9=20 https://postgresql.verite.pro/