Jeff Davis wrote:
> * The libc C.UTF-8 locale was a reasonable default (though not a
> natural language collation). But now that we have C.UTF-8 available
> from the builtin provider, then we should encourage that instead of
> relying on the slower, platform-specific libc implementation.
Yes. In particular, we should encourage the ecosystem to support
the new collation features so that they're widely available to
end users.
Anecdotically I was looking this week at upgrading instances to
v17 with the builtin C.UTF-8 locale.
They happen to be hosted by RDS, and RDS appears not to offer
the builtin provider at instance creation (nor ICU, even though
initdb with ICU is possible since v15).
The templates being restrained to libc, the database creations
should then use template0, locale_provider=builtin,
builtin_locale=...
But in my case, database creations have to be done by TerraForm.
And as it turns out, TF's Postgres resource [1] also hasn't been
updated to allow for non-libc databases (only lc_collate and
lc_ctype can be set).
Conclusion for that upgrade: that will be v17 with libc collations :(
[1]
https://registry.terraform.io/providers/cyrilgdn/postgresql/latest/docs/resources/postgresql_database
Best regards,
--
Daniel Vérité
https://postgresql.verite.pro/