Skip to content

Commit

Permalink
charset.xml : relecture vs 14β2 - suite 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Krysztophe authored and gleu committed Jul 23, 2021
1 parent d797898 commit f87956e
Showing 1 changed file with 28 additions and 27 deletions.
55 changes: 28 additions & 27 deletions postgresql/charset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
La collation <literal>default</literal> utilise les valeurs de
<symbol>LC_COLLATE</symbol> et <symbol>LC_CTYPE</symbol>
définies à la création de la base de données. Les collations <literal>C</literal> et
<literal>POSIX</literal> spécifient toutes deux le comportement <quote>traditionnel C</quote>,
<literal>POSIX</literal> spécifient toutes deux le comportement <quote>C traditionnel</quote>,
dans lequel seuls les caractères ASCII de <quote><literal>A</literal></quote> à
<quote><literal>Z</literal></quote> sont considérés comme des lettres, et les tris sont
ordonnés strictement par valeur de l'octet du code caractère.
Expand All @@ -586,11 +586,12 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
<title>Collations prédéfinies</title>

<para>
Si le système d'exploitation permet à un programme de supporter plusieurs
locales (fonction <function>newlocale</function> et fonctions conjointes) ou si le support d'ICU est configuré, alors
Si le système d'exploitation permet de supporter plusieurs
locales dans un même programme (fonction <function>newlocale</function> et fonctions conjointes),
ou si le support d'ICU est configuré, alors
<command>initdb</command> peuplera le catalogue système <literal>pg_collation</literal>
en se basant sur toutes les locales qu'il trouve sur le système d'exploitation au
moment de l'initialisation du cluster de bases de données.
avec toutes les locales trouvées sur le système d'exploitation
lors de l'initialisation de l'instance.
</para>

<para>
Expand All @@ -600,45 +601,45 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
</para>

<sect4>
<title>Collations LibC</title>
<title>Collations libc</title>

<para>
Par exemple, le système
d'exploitation peut offrir une locale appelée <literal>de_DE.utf8</literal>.
d'exploitation peut fournir une locale appelée <literal>de_DE.utf8</literal>.
<command>initdb</command> créera alors une collation nommée
<literal>de_DE.utf8</literal> pour le jeu de caractère <literal>UTF8</literal>
pour lequel <symbol>LC_COLLATE</symbol> et <symbol>LC_CTYPE</symbol> sont
<literal>de_DE.utf8</literal> pour le jeu de caractère <literal>UTF8</literal>,
pour laquelle <symbol>LC_COLLATE</symbol> et <symbol>LC_CTYPE</symbol> seront
positionnés à <literal>de_DE.utf8</literal>.
Il créera aussi une collation dont le nom sera amputé du tag <literal>.utf8</literal>.
Ainsi, vous pouvez utiliser cette collation sous le nom <literal>de_DE</literal>,
dont l'écriture est beaucoup plus facile et qui le rend moins dépendant du jeu
de caractères. Néanmoins, notez que le nommage de chaque collation collectée par
<command>initdb</command> est dépendant de la plateforme utilisée.
Il créera aussi une collation avec un nom amputé de l'étiquette <literal>.utf8</literal>.
Ainsi, vous pourrez utiliser cette collation sous le nom <literal>de_DE</literal>,
plus facile à écrire, et moins dépendant du jeu
de caractères. Néanmoins, notez que l'ensemble initial des noms de collation
<command>initdb</command> est dépendant de la plateforme.
</para>

<para>
Le jeu de collation par défaut fourni par <literal>libc</literal> pointe
directement vers les locales installées sur le système, qui peuvent être
listées en utilisant la commande <literal>locale -a</literal>. Dans le cas
où une collation <literal>libc</literal> avec différentes valeurs
pour <symbol>LC_COLLATE</symbol> et <symbol>LC_CTYPE</symbol> est nécessaire, ou si des nouvelles
locales sont installées sur le système après que la base de données
soit initialisée, alors une nouvelle collation pourrait être créée en utilisant
la commande <xref linkend="sql-createcollation"/>. De nouvelles locales du
système d'exploitation peuvent aussi être importées en masse en utilisant
listées avec la commande <literal>locale -a</literal>. Dans le cas
l'on a besoin d'une collation <literal>libc</literal> avec des valeurs
<symbol>LC_COLLATE</symbol> et <symbol>LC_CTYPE</symbol> différentes, ou si de nouvelles
locales sont installées sur le système après l'initialisation de la base de données,
une nouvelle collation peut être créée par
la commande <xref linkend="sql-createcollation"/>. On peut aussi importer
en masse de nouvelles locales du système d'exploitation avec
la fonction <link
linkend="functions-admin-collation"><function>pg_import_system_collations()</function></link>.
</para>

<para>
Dans une même base de données, seules les collations qui utilisent le
jeu de caractères de la base de données sont prises en compte. Les autres
entrées de <literal>pg_collation</literal> sont ignorées. De cette façon,
une collation dont le nom est tronqué, comme <literal>de_DE</literal>,
sera considérée de manière unique au sein d'une même base de données,
même si elle ne peut être considérée comme unique à un niveau plus global.
L'utilisation de collations dont le nom est tronqué est d'ailleurs
recommandée car vous n'aurez pas besoin de la modifier si vous décidez
entrées de <literal>pg_collation</literal> sont ignorées. Ainsi,
une collation au nom tronqué, comme <literal>de_DE</literal>,
peut être considérée unique au sein d'une base,
bien qu'elle ne le soit pas globalement.
L'utilisation de collations au nom tronqué est d'ailleurs
recommandée&nbsp;: ce sera une chose de moins à changer si vous avez besoin
de changer le jeu de caractères de la base de données. Notez toutefois que
les collations <literal>default</literal>, <literal>C</literal>, et
<literal>POSIX</literal> peuvent être utilisées sans se soucier de
Expand Down

0 comments on commit f87956e

Please sign in to comment.