Différences entre versions de « PostgreSQL »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m (ordre de tri)
 
imported>SylvainBeucler
m
 
Ligne 1 : Ligne 1 :
== Ordre de tri =
+
== Ordre de tri ==
  
 
Le tri des <code>SELECT ... ORDER BY</code> est déterminé par le paramètre LC_COLLATE.
 
Le tri des <code>SELECT ... ORDER BY</code> est déterminé par le paramètre LC_COLLATE.

Version actuelle datée du 21 avril 2010 à 16:12

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.