Collation
Les règles de comparaison et de tri du texte. Elles déterminent ce que renvoie ORDER BY, l'ordre de stockage d'un index et si 'A' = 'a'. Elles dépendent de la langue, pas des caractères eux-mêmes.
Le suédois range å, ä et ö à la fin de l'alphabet ; l'allemand traite ä comme un a surmonté de points et trie en conséquence ; le français place é avec les e. Mêmes données, ordres différents, tous corrects. Le piège : les index sont stockés dans l'ordre de la collation — changez les règles sous les pieds de la base et l'index devient faux, sans le moindre avertissement. C'est réellement arrivé quand la glibc 2.28 a modifié ses règles : après la mise à niveau d'une distribution Linux, PostgreSQL pouvait se retrouver avec des index corrompus et des doublons dans des colonnes uniques. D'où la recommandation actuelle d'utiliser des collations ICU avec suivi de version. La collation C compare les octets bruts, est la plus rapide et toujours stable — mais trie les mots comme un ordinateur, pas comme une personne.