Différences entre versions de « PostgreSQL »
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.