

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Comprendre les classements dans Babelfish pour Aurora PostgreSQL.
<a name="babelfish-collations"></a>

Lorsque vous créez un cluster de bases de données Aurora PostgreSQL avec Babelfish, vous choisissez un classement pour vos données. Un *classement* spécifie l’ordre de tri et les modèles de bits qui génèrent le texte ou les caractères dans un langage humain écrit donné. Un classement inclut des règles de comparaison des données pour un ensemble donné de modèles de bits. Le classement est lié à la localisation. Les différents paramètres régionaux affectent le mappage des caractères, l’ordre de tri, etc. Les attributs de classement sont reflétés dans les noms des différents classements. Pour plus d’informations sur les attributs, consultez [Babelfish collation attributes table](#bfish-collation-attributes-table). 

Babelfish mappe les classements SQL Server à des classements comparables fournis par Babelfish. Babelfish prédéfinit les classements Unicode avec des comparaisons de chaînes et des ordres de tri sensibles aux particularités culturelles. Babelfish fournit également un moyen de traduire les classements de votre base de données SQL Server en classement Babelfish le plus proche. Locale-specific des collations sont fournies pour différentes langues et régions. 

Certains classements spécifient une page de code correspondant à un encodage côté client. Babelfish traduit automatiquement l’encodage du serveur vers l’encodage du client en fonction du classement de chaque colonne de sortie. 

Babelfish prend en charge les classements répertoriés dans [Babelfish supported collations table](#bfish-collations-table). Babelfish mappe les classements SQL Server à des classements comparables fournis par Babelfish. 

Babelfish utilise la version 153.80 de la bibliothèque de classements ICU (International Components for Unicode. Pour plus d’informations sur les classements ICU, consultez [Collation](https://unicode-org.github.io/icu/userguide/collation/) (Classement) dans la documentation ICU. Pour en savoir plus sur PostgreSQL et le classement, consultez [Collation Support](https://www.postgresql.org/docs/current/collation.html) (Prise en charge des classements) dans la documentation PostgreSQL.

**Topics**
+ [Paramètres de cluster de bases de données qui contrôlent le classement et les paramètres régionaux](#babelfish-collations.parameters)
+ [Classements déterministes et non déterministes dans Babelfish](#babelfish-collations.deterministic-nondeterministic)
+ [Classements pris en charge au niveau de la base de données dans Babelfish](#babelfish-collations.database-level)
+ [Classements de serveur et d’objet dans Babelfish](#babelfish-collations.reference-tables-supported-collations)
+ [Comportement de classement par défaut dans Babelfish](#babelfish-collations-default)
+ [Gestion des classements](collation.managing.md)
+ [Limites et différences de comportement des classements](collation.limitations.md)

## Paramètres de cluster de bases de données qui contrôlent le classement et les paramètres régionaux
<a name="babelfish-collations.parameters"></a><a name="collation-related-parameters"></a>

Les paramètres suivants ont une incidence sur le comportement du classement. 

**babelfishpg\_tsql.default\_locale**  
Ce paramètre spécifie les paramètres régionaux par défaut utilisés par le classement. Ce paramètre est utilisé en combinaison avec les attributs répertoriés dans [Babelfish collation attributes table](#bfish-collation-attributes-table) pour personnaliser les classements liés à une langue et à une région spécifiques. La valeur par défaut de ce paramètre est `en-US`.  
Les paramètres régionaux par défaut s’appliquent à tous les noms de classement Babelfish commençant par « BBF » et à tous les classements SQL Server mappés à des classements Babelfish. La modification de la valeur de ce paramètre sur un cluster de bases de données Babelfish existant n’affecte pas les paramètres régionaux des classements existants. Pour obtenir la liste des classements, consultez [Babelfish supported collations table](#bfish-collations-table). 

**babelfishpg\_tsql.server\_collation\_name**  
Ce paramètre spécifie le classement par défaut du serveur (instance de cluster de bases de données Aurora PostgreSQL) et de la base de données. La valeur par défaut est `sql_latin1_general_cp1_ci_as`. `server_collation_name`Il doit s'agir d'un `CI_AS` classement car dans T-SQL, le classement du serveur détermine la manière dont les identifiants sont comparés.  
Lorsque vous créez votre cluster de bases de données Babelfish, vous choisissez le **Collation name** (Nom du classement) dans la liste sélectionnable. Il s’agit notamment des classements répertoriés dans [Babelfish supported collations table](#bfish-collations-table). Ne modifiez pas `server_collation_name` après la création de la base de données Babelfish.

Les paramètres que vous choisissez lorsque vous créez votre cluster de bases de données Babelfish pour Aurora PostgreSQL sont stockés dans le groupe de paramètres de cluster de bases de données associé au cluster pour ces paramètres et définissent son comportement de classement.

## Classements déterministes et non déterministes dans Babelfish
<a name="babelfish-collations.deterministic-nondeterministic"></a>

Babelfish prend en charge les classements déterministes et non déterministes :
+ Un *classement déterministe* considère que les caractères dont les séquences d’octets sont identiques sont égaux. Cela signifie que `x` et `X` ne sont pas égaux dans un classement déterministe. Les classements déterministes peuvent être sensibles à la casse (CS) et sensibles aux accents (AS).
+ Un *classement non déterministe* ne nécessite pas de correspondance identique. Un classement non déterministe considère que `x` et `X` sont égaux. Les classements non déterministes sont insensibles à la casse (CI), insensibles aux accents (AI) ou les deux.

Le tableau suivant présente certaines différences de comportement entre Babelfish et PostgreSQL lorsque vous utilisez des classements non déterministes.


| Babelfish | PostgreSQL | 
| --- | --- | 
| Prend en charge la clause LIKE pour les classements CI\_AS. | Ne prend pas en charge la clause LIKE sur les classements non déterministes. | 
| Ne prend en charge la clause LIKE que sur les classements AI suivants issus de la version 4.2.0 de Babelfish :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/babelfish-collations.html) | Ne prend pas en charge la clause LIKE sur les classements non déterministes. | 

Pour obtenir la liste des autres limites et différences de comportement pour Babelfish par rapport à SQL Server et PostgreSQL, consultez [Limites et différences de comportement des classements](collation.limitations.md). 

Babelfish et SQL Server suivent une convention de dénomination pour les classements qui décrivent les attributs de classement, comme indiqué dans le tableau suivant.<a name="bfish-collation-attributes-table"></a>


| Attribut | Description | 
| --- | --- | 
| AI | Accent-insensitive. | 
| AS | Accent-sensitive. | 
| BIN2 | BIN2 exige que les données soient triées dans l’ordre des points de code. L'ordre des points de code Unicode est le même que l'ordre des caractères pour UTF-8 UTF-16 les UCS-2 encodages. L’ordre des points de code est un classement déterministe rapide. | 
| CI | Case-insensitive. | 
| CS | Case-sensitive. | 
| PREF | Pour trier les majuscules avant les minuscules, utilisez un classement PREF. Si la comparaison est insensible à la casse, la version majuscule d’une lettre est triée avant la version minuscule, à condition qu’il n’y ait pas d’autre distinction. La bibliothèque ICU prend en charge les préférences pour les majuscules avec `colCaseFirst=upper`, mais pas pour les classements CI\_AS.<br />PREF ne peut être appliqué qu’aux classements déterministes `CS_AS`. | 

## Classements pris en charge au niveau de la base de données dans Babelfish
<a name="babelfish-collations.database-level"></a>

Les classements suivants sont pris en charge au niveau de la base de données dans Babelfish :
+ bbf\_unicode\_bin2
+ bbf\_unicode\_cp1\_ci\_ai
+ bbf\_unicode\_cp1\_ci\_as
+ bbf\_unicode\_cp1250\_ci\_ai
+ bbf\_unicode\_cp1250\_ci\_as
+ bbf\_unicode\_cp1257\_ci\_ai
+ bbf\_unicode\_cp1257\_ci\_as
+ estonian\_ci\_ai
+ estonian\_ci\_as
+ finnish\_swedish\_ci\_ai
+ finnish\_swedish\_ci\_as
+ french\_ci\_ai
+ french\_ci\_as
+ latin1\_general\_bin2
+ latin1\_general\_ci\_ai
+ latin1\_general\_ci\_as
+ latin1\_general\_90\_bin2
+ latin1\_general\_100\_bin2
+ latin1\_general\_140\_bin2
+ modern\_spanish\_ci\_ai
+ modern\_spanish\_ci\_as
+ polish\_ci\_ai
+ polish\_ci\_as
+ sql\_latin1\_general\_cp1\_ci\_ai
+ sql\_latin1\_general\_cp1\_ci\_as
+ sql\_latin1\_general\_cp1250\_ci\_as
+ sql\_latin1\_general\_cp1251\_ci\_as
+ sql\_latin1\_general\_cp1257\_ci\_as
+ traditional\_spanish\_ci\_ai
+ traditional\_spanish\_ci\_as

**Note**  
Pour utiliser un classement différent au niveau de la base de données, assurez-vous qu’il correspond au classement au niveau du serveur. Pour de plus amples informations, consultez [Classements de serveur et d’objet dans Babelfish](#babelfish-collations.reference-tables-supported-collations).

## Classements de serveur et d’objet dans Babelfish
<a name="babelfish-collations.reference-tables-supported-collations"></a>

Utilisez les classements suivants comme classement de serveur ou classement d’objet.<a name="bfish-collations-table"></a>


| ID du classement | Remarques | 
| --- | --- | 
| bbf\_unicode\_general\_ci\_as | Prend en charge la comparaison insensible à la casse et l’opérateur LIKE. | 
| bbf\_unicode\_cp1\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt) également connu sous le nom de CP1252. | 
| bbf\_unicode\_CP1250\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1250.txt) permettant de représenter des textes dans les langues d’Europe centrale et d’Europe de l’Est qui utilisent l’alphabet latin. | 
| bbf\_unicode\_CP1251\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1251.txt) pour les langues utilisant l’alphabet cyrillique. | 
| bbf\_unicode\_cp1253\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1253.txt) utilisé pour représenter le grec moderne. | 
| bbf\_unicode\_cp1254\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1254.txt) qui prend en charge le turc. | 
| bbf\_unicode\_cp1255\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt) qui prend en charge l’hébreu. | 
| bbf\_unicode\_cp1256\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1256.txt) pour les langues utilisant l’alphabet arabe. | 
| bbf\_unicode\_cp1257\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1257.txt) permettant de prendre en charge les langues estonienne, lettone et lituanienne. | 
| bbf\_unicode\_cp1258\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1258.txt) utilisé pour les caractères vietnamiens. | 
| bbf\_unicode\_cp874\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit874.txt) utilisé pour les caractères thaïlandais. | 
| sql\_latin1\_general\_cp1250\_ci\_as | [Encodage non déterministe de caractères sur un octet](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1250.txt) utilisé pour représenter les caractères latins. | 
| sql\_latin1\_general\_cp1251\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1251.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1253\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1253.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1254\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1254.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1255\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1256\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1256.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1257\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1257.txt) prenant en charge les caractères latins. | 
| sql\_latin1\_general\_cp1258\_ci\_as | [Classement non déterministe](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1258.txt) prenant en charge les caractères latins. | 
| chinese\_prc\_ci\_as | Classement non déterministe prenant en charge le chinois (RPC). | 
| cyrillic\_general\_ci\_as | Classement non déterministe prenant en charge l’alphabet cyrillique. | 
| finnish\_swedish\_ci\_as | Classement non déterministe prenant en charge le finnois. | 
| french\_ci\_as | Classement non déterministe prenant en charge le français. | 
| japanese\_ci\_as | Classement non déterministe prenant en charge le japonais. Pris en charge dans Babelfish 2.1.0 et versions ultérieures. | 
| korean\_wansung\_ci\_as | Classement non déterministe prenant en charge le coréen (avec tri par dictionnaire). | 
| latin1\_general\_ci\_as | Classement non déterministe prenant en charge les caractères latins. | 
| modern\_spanish\_ci\_as | Classement non déterministe prenant en charge l’espagnol moderne. | 
| polish\_ci\_as | Classement non déterministe prenant en charge le polonais. | 
| thai\_ci\_as | Classement non déterministe prenant en charge le thaï. | 
| traditional\_spanish\_ci\_as | Classement non déterministe prenant en charge l’espagnol (tri traditionnel). | 
| turkish\_ci\_as | Classement non déterministe prenant en charge le turc. | 
| ukrainian\_ci\_as | Classement non déterministe prenant en charge l’ukrainien. | 
| vietnamese\_ci\_as | Classement non déterministe prenant en charge le vietnamien. | 

Vous pouvez utiliser les classements suivants comme classements d’objets.<a name="bfish-icu-collations-table"></a>


| Langage | Options déterministes | Options non déterministes | 
| --- | --- | --- | 
| Arabe | Arabic\_CS\_AS | Arabic\_CI\_AS<br />Arabic\_CI\_AI | 
| Alphabet arabe | BBF\_ 1256\_CS\_AS Unicode\_CP<br />BBF\_ 1256\_CS\_AS Unicode\_Pref\_CP | BBF\_1256\_CI\_AI Unicode\_CP<br />BBF\_1256\_CS\_AI Unicode\_CP | 
| Binaire | latin1\_general\_bin2<br />BBF\_2 Unicode\_BIN | – | 
| Langues d’Europe centrale et d’Europe de l’Est qui utilisent l’alphabet latin | BBF\_1250\_CS\_AS Unicode\_CP<br />BBF\_1250\_CS\_AS Unicode\_Pref\_CP | BBF\_1250\_CI\_AI Unicode\_CP<br />BBF\_1250\_CS\_AI Unicode\_CP | 
| Chinois | Chinese\_PRC\_CS\_AS | Chinese\_PRC\_CI\_AS<br />Chinese\_PRC\_CI\_AI | 
| Cyrillic\_General | Cyrillic\_General\_CS\_AS | Cyrillic\_General\_CI\_AS<br />Cyrillic\_General\_CI\_AI | 
| Alphabet cyrillique | BBF\_125\_CS\_AS Unicode\_CP<br />BBF\_125\_CS\_AS Unicode\_Pref\_CP | BBF\_125\_CI\_AI Unicode\_CP<br />BBF\_1252\_CS\_AI Unicode\_CP | 
| Estonian | Estonian\_CS\_AS | Estonian\_CI\_AS<br />Estonian\_CI\_AI | 
| Estonien, letton et lituanien | BBF\_ 1257\_CS\_AS Unicode\_CP<br />BBF\_ 1257\_CS\_AS Unicode\_Pref\_CP | BBF\_1257\_CI\_AI Unicode\_CP<br />BBF\_1257\_CS\_AI Unicode\_CP | 
| Finnish\_Swedish | Finnish\_Swedish\_CS\_AS | Finnish\_Swedish\_CI\_AS<br />Finnish\_Swedish\_CI\_AI | 
| Français | French\_CS\_AS | French\_CI\_AS<br />French\_CI\_AI | 
| Grec | Greek\_CS\_AS | Greek\_CI\_AS<br />Greek\_CI\_AI | 
| Hébreu | BBF\_ 1255\_CS\_AS Unicode\_CP<br />BBF\_ 1255\_CS\_AS Unicode\_Pref\_CP<br />Hebrew\_CS\_AS | BBF\_1255\_CI\_AI Unicode\_CP<br />BBF\_1255\_CS\_AI Unicode\_CP<br />Hebrew\_CI\_AS<br />Hebrew\_CI\_AI | 
| Japonais (Babelfish 2.1.0 et versions ultérieures) | Japanese\_CS\_AS | Japanese\_CI\_AI<br />Japanese\_CI\_AS | 
| Korean\_Wamsung | Korean\_Wamsung\_CS\_AS | Korean\_Wamsung\_CI\_AS<br />Korean\_Wamsung\_CI\_AI | 
| Caractères latins pour la page de code CP1252 | latin1\_general\_cs\_as<br />BBF\_ Unicode\_General\_CS\_AS<br />BBF\_ Unicode\_General\_Pref\_CS\_AS<br />BBF\_1\_CS\_AS Unicode\_Pref\_CP<br />BBF\_1\_CS\_AS Unicode\_CP | latin1\_general\_ci\_as<br />latin1\_general\_ci\_ai<br />latin1\_general\_cs\_ai<br />BBF\_ Unicode\_General\_CI\_AI<br />BBF\_ Unicode\_General\_CS\_AI<br />BBF\_1\_CI\_AI Unicode\_CP<br />BBF\_1\_CS\_AI Unicode\_CP | 
| Grec moderne | BBF\_ 1253\_CS\_AS Unicode\_CP<br />BBF\_ 1253\_CS\_AS Unicode\_Pref\_CP | BBF\_1253\_CI\_AI Unicode\_CP<br />BBF\_1253\_CS\_AI Unicode\_CP | 
| Modern\_Spanish | Modern\_Spanish\_CS\_AS | Modern\_Spanish\_CI\_AS<br />Modern\_Spanish\_CI\_AI | 
| Mongol | Mongolian\_CS\_AS | Mongolian\_CI\_AS<br />Mongolian\_CI\_AI | 
| Polonais | Polish\_CS\_AS | Polish\_CI\_AS<br />Polish\_CI\_AI | 
| Thaï | BBF\_ 874\_CS\_AS Unicode\_CP<br />BBF\_ 874\_CS\_AS Unicode\_Pref\_CP<br />Thai\_CS\_AS | BBF\_874\_CI\_AI Unicode\_CP<br />BBF\_874-CS\_AI Unicode\_CP<br />Thai\_CI\_AS, Thai\_CI\_AI | 
| Traditional\_Spanish | Traditional\_Spanish\_CS\_AS | Traditional\_Spanish\_CI\_AS<br />Traditional\_Spanish\_CI\_AI | 
| Turc | BBF\_ 1254\_CS\_AS Unicode\_CP<br />BBF\_ 1254\_CS\_AS Unicode\_Pref\_CP<br />Turkish\_CS\_AS | BBF\_1254\_CI\_AI Unicode\_CP<br />BBF\_1254\_CS\_AI Unicode\_CP<br />Turkish\_CI\_AS, Turkish\_CI\_AI | 
| Ukrainien | Ukranian\_CS\_AS | Ukranian\_CI\_AS<br />Ukranian\_CI\_AI | 
| Vietnamien | BBF\_ 1258\_CS\_AS Unicode\_CP<br />BBF\_ 1258\_CS\_AS Unicode\_Pref\_CP<br />Vietnamese\_CS\_AS | BBF\_1258\_CI\_AI Unicode\_CP<br />BBF\_1258\_CS\_AI Unicode\_CP<br />Vietnamese\_CI\_AS<br />Vietnamese\_CI\_AI | 

## Comportement de classement par défaut dans Babelfish
<a name="babelfish-collations-default"></a>

Auparavant, le classement par défaut des types de données pouvant être classées était `pg_catalog.default`. Les types de données et les objets qui dépendent de ces types de données sont classés selon le classement sensible à la casse. Cette condition peut avoir un impact sur les T-SQL objets de l'ensemble de données avec un classement qui ne fait pas la distinction majuscules/majuscules. À partir de Babelfish 2.3.0, le classement par défaut pour les types de données pouvant être classées (à l’exception de TEXT et NTEXT) est le même que le classement du paramètre `babelfishpg_tsql.server_collation_name`. Lorsque vous passez à Babelfish 2.3.0, le classement par défaut est sélectionné automatiquement au moment de la création du cluster de bases de données, ce qui n’a aucun impact visible. 