PostgreSQL
= Ordre de tri
Le tri des SELECT ... ORDER BY
est déterminé par le paramètre LC_COLLATE.
Ce paramètre est défini au niveau du cluster, et au niveau de la base depuis la version 8.4 [1][2]. Au 2010-04 il n'est pas possible de modifier cette valeur après-coup, il faut recréer le cluster [3] ou la base [4].
La valeur par défaut (définie par initdb
à l'installation) est apparemment dérivée de la langue par défaut du système, ou peut-être de la langue de l'utilisateur 'root' au moment de l'installation - je n'ai pas trouvé l'appel à initdb
qui en est responsable.
En résumé: ce n'est pas encore au point.
Typiquement: si votre LC_COLLATE est "C", la valeur par défaut, l'ordre de tri sera sensible à la casse (d'abord les majuscules A-Z, après les minuscules a-z). Cela aura un impact sur vos applications, dès que vous utilisez ORDER_BY.