With ICU und-u-ks-level2 and deterministic=false, a equals A, b equals B, and á remains distinct. Equality affects uniqueness without rewriting stored text.

Collation decides how strings compare and sort

Text order is part of a query’s contract. A list sorted using byte order can differ from one sorted using linguistic rules, and a case-insensitive comparison can change which names a uniqueness rule considers duplicates. PostgreSQL supports database defaults as well as column and expression collations, so behavior should be made explicit where it affects business identity or pagination. ...

April 4, 2027 · 5 min · XB Field Notes