Laurenz Albe wrote:
> But if you are using "C.UTF-8", the semantics of upper() can change
> between versions, if Unicode is upgraded.
Oh I see. Sure, "C" is not affected by that.
> That bears a residual risk
> of OS upgrades breaking indexes on upper(col).
OS upgrades don't count in the case of the builtin provider, but
major Postgres upgrades, yes.
> I'd say that the small benefit of better case conversion isn't worth
> the risk. I'd chose "C", and use a natural language collation explicitly
> on columns where these things matter.
While I understanding the reasoning, I'm of the opposite opinion.
To me the lack of Unicode support in "C" is too annoying to make
it a blanket recommendation as the default locale.
Best regards,
--
Daniel Vérité
https://postgresql.verite.pro/