Verstehen der Kollationen in Babelfish für Aurora PostgreSQL - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verstehen der Kollationen in Babelfish für Aurora PostgreSQL

Wenn Sie einen Aurora-PostgreSQL-DB-Cluster mit Babelfish erstellen, wählen Sie eine Sortierung für Ihre Daten aus. Eine Sortierung gibt die Sortierreihenfolge und Bitmuster an, die den Text oder die Zeichen in einer bestimmten menschlichen Schriftsprache erzeugen. Eine Sortierung enthält Regeln zum Vergleich von Daten für einen bestimmten Satz von Bitmustern. Die Sortierung bezieht sich auf die Lokalisierung. Verschiedene Gebietsschemas wirken sich auf die Zeichenzuordnung, die Sortierreihenfolge und dergleichen aus. Sortierattribute spiegeln sich in den Namen verschiedener Sortierungen wider. Weitere Informationen zu den Attributen finden Sie unter Babelfish collation attributes table.

Babelfish ordnet SQL Server-Sortierungen vergleichbaren Sortierungen von Babelfish zu. Babelfish definiert Unicode-Sortierungen mit kulturell sensiblen Zeichenfolgenvergleiche und Sortierreihenfolge vorab. Babelfish bietet auch eine Möglichkeit, die Sortierungen in Ihrer SQL Server-DB in die am engsten übereinstimmende Babelfish-Sollation zu übersetzen. Lokalspezifische Sortierungen werden für verschiedene Sprachen und Regionen bereitgestellt.

Einige Sortierungen geben eine Codepage an, die einer clientseitigen Kodierung entspricht. Babelfish wird abhängig von der Sortierung jeder Ausgabespalte automatisch von der Servercodierung in die Clientcodierung übersetzt.

Babelfish unterstützt die Sortierungen, die in der Babelfish supported collations table aufgeführt sind. Babelfish ordnet SQL Server-Sortierungen vergleichbaren Sortierungen von Babelfish zu.

Babelfish verwendet Version 153.80 der ICU-Sortierbibliothek (International Components for Unicode). Weitere Informationen zu ICU-Sortierungen finden Sie unter Sortierung in der ICU-Dokumentation. Weitere Informationen zu PostgreSQL und Sortierungen finden Sie unter Unterstützung von Sortierungen in der PostgreSQL-Dokumentation.

DB-Cluster-Parameter, die die Sortierung und das Gebietsschema steuern

Die folgenden Parameter wirken sich auf das Sortierverhalten aus.

babelfishpg_tsql.default_locale

Dieser Parameter gibt das Standardgebietsschema an, das von der Sortierung verwendet wird. Dieser Parameter wird in Kombination mit den Attributen in der Babelfish collation attributes table verwendet, um Sortierungen für eine bestimmte Sprache und Region anzupassen. Der Standardwert für diesen Parameter ist en-US.

Das Standardgebietsschema gilt für alle Babelfish-Sortierungen, die mit den Buchstaben „BBF“ beginnen, und für alle SQL-Server-Sortierungen, die Babelfish-Sortierungen zugeordnet sind. Wenn die Einstellung für diesen Parameter auf einem vorhandenen Babelfish-DB-Cluster geändert wird, hat dies keinen Einfluss auf das Gebietsschema vorhandener Sortierungen. Eine Liste der Sortierungen finden Sie in der Babelfish supported collations table.

babelfishpg_tsql.server_colation_name

Dieser Parameter gibt die Standardsortierung für den Server (DB-Cluster-Instance von Aurora PostgreSQL) und die Datenbank an. Der Standardwert ist sql_latin1_general_cp1_ci_as. Die server_collation_namemuss ein sein CI_AS-Sortierung, da in T-SQL die Serversortierung bestimmt, wie Bezeichner verglichen werden.

Wenn Sie Ihren Babelfish-DB-Cluster erstellen, wählen Sie den Collation name (Name der Sortierung) aus der auswählbaren Liste aus. Dazu gehören die Sortierungen in der Babelfish supported collations table. Ändern Sie nicht das server_collation_name nachdem die Babelfish-Datenbank erstellt wurde.

Die Einstellungen, die Sie beim Erstellen Ihres DB-Clusters von Babelfish for Aurora PostgreSQL auswählen, werden in der DB-Cluster-Parametergruppe gespeichert, die dem Cluster für diese Parameter zugeordnet ist, und legen dessen Sortierverhalten fest.

Deterministische und nicht deterministische Sortierungen in Babelfish

Babelfish unterstützt deterministische und nicht deterministische Kollationen:

  • Eine deterministische Sortierung wertet Zeichen mit identischen Bytesequenzen als gleich aus. Dies bedeutet, dass x und X bei einer deterministischen Sortierung nicht gleich sind. Deterministische Sortierungen können Groß- und Kleinschreibung (CS) und Akzente (AS) berücksichtigen.

  • Eine nicht deterministische Sortierung erfordert keine identische Übereinstimmung. Eine nicht deterministische Kollation bewertet x und X gleich. Nicht deterministische Sortierungen berücksichtigen Groß- und Kleinschreibung (CI), Akzente (AI) oder beides nicht.

In der folgenden Tabelle finden Sie einige Verhaltensunterschiede zwischen Babelfish und PostgreSQL im Hinblick auf die Verwendung deterministischer Sortierungen.

Babelfish PostgreSQL

Unterstützt die LIKE-Klausel bei CI_AS-Sortierungen.

Unterstützt die LIKE-Klausel bei nicht deterministischen Sortierungen nicht.

Unterstützt die LIKE-Klausel nur bei den folgenden AI-Sortierungen ab Babelfish-Version 4.2.0:

  • bbf_unicode_cp1250_ci_ai

  • bbf_unicode_cp1250_cs_ai

  • bbf_unicode_cp1257_ci_ai

  • bbf_unicode_cp1257_cs_ai

  • bbf_unicode_cp1_ci_ai

  • bbf_unicode_cp1_cs_ai

  • estonian_ci_ai

  • finnish_swedish_ci_ai

  • french_ci_ai

  • latin1_general_ci_ai

  • latin1_general_cs_ai

  • modern_spanish_ci_ai

  • polish_ci_ai

  • sql_latin1_general_cp1_ci_ai

  • sql_latin1_general_cp1_cs_ai

  • traditional_spanish_ci_ai

Unterstützt die LIKE-Klausel bei nicht deterministischen Sortierungen nicht.

Eine Liste anderer Einschränkungen und Verhaltensunterschiede für Babelfish im Vergleich zu SQL Server und PostgreSQL finden Sie unter Einschränkungen und Verhaltensunterschiede von Sortierungen.

Babelfish und SQL Server folgen einer Benennungskonvention für Sortierungen, die die Sortierattribute beschreiben, wie in der folgenden Tabelle dargestellt.

Attribut Beschreibung

AI

Akzentunempfindlich.

AS

Akzentsensibel.

BIN2

BIN2 fordert die Sortierung von Daten in Codepunkt-Reihenfolge an. Die Reihenfolge der Unicode-Codepunkte entspricht der gleichen Zeichenreihenfolge für UTF-8-, UTF-16- und UCS-2-Kodierungen. Die Codepunkt-Reihenfolge ist eine schnelle deterministische Sortierung.

CI

Berücksichtigt Groß- und Kleinschreibung nicht.

CS

Groß-/Kleinschreibung ist zu beachten.

PREF

Verwenden Sie eine PREF-Sortierung, um Großbuchstaben vor Kleinbuchstaben zu sortieren. Wenn beim Vergleich die Groß- und Kleinschreibung nicht berücksichtigt wird, wird die Großbuchstabenversion vor der Kleinbuchstabenversion sortiert, wenn keine andere Unterscheidung vorliegt. Die ICU-Bibliothek unterstützt Großbuchstaben mit colCaseFirst=upper, aber nicht für CI_AS-Sortierungen.

PREF kann nur auf CS_AS deterministische Kollationen angewendet werden.

Auf Datenbankebene unterstützte Sortierungen in Babelfish

Die folgenden Sortierungen werden in Babelfish auf Datenbankebene unterstützt:

  • 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

Anmerkung

Stellen Sie zur Verwendung einer anderen Sortierung auf Datenbankebene sicher, dass sie mit der Sortierung auf Serverebene übereinstimmt. Weitere Informationen finden Sie unter Server- und Objektsortierungen in Babelfish

Server- und Objektsortierungen in Babelfish

Verwenden Sie die folgenden Sortierungen als Serversortierung oder Objektsortierung.

Sortier-ID Hinweise

bbf_unicode_general_ci_as

Unterstützt den Vergleich zwischen Groß- und Kleinschreibung und den LIKE Operator.

bbf_unicode_cp1_ci_as

Nichtdeterministische Kollation auch bekannt als CP1252.

bbf_unicode_CP1250_ci_as

Nichtdeterministische Kollation wird verwendet, um Texte in mitteleuropäischen und osteuropäischen Sprachen darzustellen, die lateinische Schrift verwenden.

bbf_unicode_CP1251_ci_as

Nichtdeterministische Kollation für Sprachen, die das kyrillische Skript verwenden.

bbf_unicode_cp1253_ci_as

Nichtdeterministische Kollation repräsentierte früher das moderne Griechisch.

bbf_unicode_cp1254_ci_as

Nichtdeterministische Kollation, die Türkisch unterstützt.

bbf_unicode_cp1255_ci_as

Nichtdeterministische Kollation, die Hebräisch unterstützt.

bbf_unicode_cp1256_ci_as

Nichtdeterministische Kollation wird verwendet, um Sprachen zu schreiben, die arabische Schrift verwenden.

bbf_unicode_cp1257_ci_as

Nichtdeterministische Kollationwird verwendet, um estnische, lettische und litauische Sprachen zu unterstützen.

bbf_unicode_cp1258_ci_as

Nichtdeterministische Kollation wird verwendet, um vietnamesische Schriftzeichen zu schreiben.

bbf_unicode_cp874_ci_as

Nichtdeterministische Kollation wrid verwendet, um thailändische Charaktere zu schreiben.

sql_latin1_general_cp1250_ci_as

Nicht deterministische Einzelbyte-Zeichencodierung wird verwendet, um lateinische Zeichen darzustellen.

sql_latin1_general_cp1251_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1253_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1254_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1255_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1256_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1257_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

sql_latin1_general_cp1258_ci_as

Nichtdeterministische Kollation, die lateinische Zeichen unterstützt.

chinese_prc_ci_as

Nicht deterministische Sortierung, die Chinesisch (VR China) unterstützt.

cyrillic_general_ci_as

Nicht deterministische Kollation, die Kyrillisch unterstützt.

finnish_swedish_ci_as

Nicht deterministische Kollatierung, die Finnisch unterstützt.

french_ci_as

Nicht deterministische Kollatierung, die Französisch unterstützt.

japanese_ci_as

Nicht deterministische Sortierung, die Japanisch unterstützt. Wird in Babelfish 2.1.0 und höheren Versionen unterstützt.

korean_wansung_ci_as

Nicht deterministische Sortierung, die Koreanisch unterstützt (mit Wörterbuchsortierung).

latin1_general_ci_as

Nicht deterministische Sortierung, die lateinische Zeichen unterstützt.

modern_spanish_ci_as

Nicht deterministische Kollatierung, die das moderne Spanisch unterstützt.

polish_ci_as

Nicht deterministische Kollatierung, die Polnisch unterstützt.

thai_ci_as

Nicht deterministische Kollatierung, die Thai unterstützt.

traditional_spanish_ci_as

Nicht deterministische Sortierung, die Spanisch unterstützt (traditionelle Sortierung).

turkish_ci_as

Nicht deterministische Kollatierung, die Türkisch unterstützt.

ukrainisch_ci_as

Nicht deterministische Kollatierung, die Ukrainisch unterstützt.

vietnamesisch_ci_as

Nicht deterministische Kollatierung, die Vietnamesen unterstützt.

Sie können die folgenden Sortierungen als Objektsortierungen verwenden.

Dialekt Deterministische Optionen Nicht deterministische Optionen

Arabisch

Arabic_CS_AS

Arabic_CI_AS

Arabic_CI_AI

Arabische Schrift

BBF_Unicode_CP1256_CS_AS

BBF_Unicode_Pref_CP1256_CS_AS

BBF_Unicode_CP1256_CI_AI

BBF_Unicode_CP1256_CS_AI

Binär

latin1_general_bin2

BBF_Unicode_BIN2

Mitteleuropäische und osteuropäische Sprachen, die lateinische Schrift verwenden

BBF_Unicode_CP1250_CS_AS

BBF_Unicode_Pref_CP1250_CS_AS

BBF_Unicode_CP1250_CI_AI

BBF_Unicode_CP1250_CS_AI

Chinesisch

Chinese_PRC_CS_AS

Chinese_PRC_CI_AS

Chinese_PRC_CI_AI

Kyrillic_Allgemein

Cyrillic_General_CS_AS

Cyrillic_General_CI_AS

Cyrillic_General_CI_AI

Kyrillische Schrift

BBF_Unicode_CP1251_CS_AS

BBF_Unicode_Pref_CP1251_CS_AS

BBF_Unicode_CP1251_CI_AI

BBF_Unicode_CP1251_CS_AI

Estnisch

Estonian_CS_AS

Estonian_CI_AS

Estonian_CI_AI

Estnisch, Lettisch und Litauisch

BBF_Unicode_CP1257_CS_AS

BBF_Unicode_Pref_CP1257_CS_AS

BBF_Unicode_CP1257_CI_AI

BBF_Unicode_CP1257_CS_AI

Finnish_Schwedisch

Finnish_Swedish_CS_AS

Finnish_Swedish_CI_AS

Finnish_Swedish_CI_AI

Französisch

französisch_cs_as

French_CI_AS

French_CI_AI

Griechisch

Greek_CS_AS

Greek_CI_AS

Greek_CI_AI

Hebräisch

BBF_Unicode_CP1255_CS_AS

BBF_Unicode_Pref_CP1255_CS_AS

Hebrew_CS_AS

BBF_Unicode_CP1255_CI_AI

BBF_Unicode_CP1255_CS_AI

Hebrew_CI_AS

Hebrew_CI_AI

Japanisch (Babelfish 2.1.0 und höher)

Japanese_CS_AS

Japanese_CI_AI

Japanese_CI_AS

Korean_Wamsung

Korean_wamsung_cs_as

Korean_Wamsung_CI_AS

Korean_Wamsung_CI_AI

Lateinische Zeichen für die Codeseite CP1252

latin1_general_cs_as

BBF_Unicode_General_CS_AS

BBF_Unicode_General_Pref_CS_AS

BBF_Unicode_Pref_CP1_CS_AS

BBF_Unicode_CP1_CS_AS

latin1_general_ci_as

latin1_general_ci_ai

latin1_general_cs_ai

BBF_Unicode_General_CI_AI

BBF_Unicode_General_CS_AI

BBF_Unicode_CP1_CI_AI

BBF_Unicode_CP1_CS_AI

Neugriechisch

BBF_Unicode_CP1253_CS_AS

BBF_Unicode_Pref_CP1253_CS_AS

BBF_Unicode_CP1253_CI_AI

BBF_Unicode_CP1253_CS_AI

Modern_Spanisch

Modern_Spanish_CS_AS

Modern_Spanish_CI_AS

Modern_Spanish_CI_AI

Mongolisch

Mongolisch_CS_AS

Mongolian_CI_AS

Mongolian_CI_AI

Polnisch

Polish_CS_AS

Polish_CI_AS

Polish_CI_AI

Thailändisch

BBF_Unicode_CP874_CS_AS

BBF_Unicode_Pref_CP874_CS_AS

Thai_cs_as

BBF_Unicode_CP874_CI_AI

BBF_Unicode_CP874_CS_AI

Thai_CI_AS, Thai_CI_AI

Traditional_Spanisch

Traditional_Spanish_CS_AS

Traditional_Spanish_CI_AS

Traditional_Spanish_CI_AI

Türkisch

BBF_Unicode_CP1254_CS_AS

BBF_Unicode_Pref_CP1254_CS_AS

Türkisch_CS_AS

BBF_Unicode_CP1254_CI_AI

BBF_Unicode_CP1254_CS_AI

Turkish_ci_as, Türkisch_CI_AI

Ukrainisch

Ukranian_CS_AS

Ukranian_CI_AS

Ukranian_CI_AI

Vietnamesisch

BBF_Unicode_CP1258_CS_AS

BBF_Unicode_Pref_CP1258_CS_AS

Vietnamese_CS_AS

BBF_Unicode_CP1258_CI_AI

BBF_Unicode_CP1258_CS_AI

Vietnamese_CI_AS

Vietnamese_CI_AI

Standardsortierungsverhalten in Babelfish

Bisher lautete die Standardsortierung der sortierbaren Datentypen pg_catalog.default. Die Datentypen und Objekte, die von diesen Datentypen abhängen, werden unter Berücksichtigung der Groß- und Kleinschreibung sortiert. Diese Bedingung wirkt sich möglicherweise auf die T-SQL-Objekte des Datensatzes aus, der ohne Berücksichtigung der Groß- und Kleinschreibung sortiert wird. Ab Babelfish 2.3.0 entspricht die Standardsortierung für die sortierbaren Datentypen (außer TEXT und NTEXT) der Sortierung im Parameter babelfishpg_tsql.server_collation_name. Wenn Sie ein Upgrade auf Babelfish 2.3.0 durchführen, wird die Standardsortierung bei der Erstellung des DB-Clusters automatisch ausgewählt, was keine sichtbaren Auswirkungen hat.