PostgreSQL

De Cliss XXI
Révision datée du 21 avril 2010 à 17:12 par imported>SylvainBeucler (ordre de tri)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

= 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.