Memahami Kolasi di Babelfish untuk Aurora Postgre SQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memahami Kolasi di Babelfish untuk Aurora Postgre SQL

Saat Anda membuat cluster Aurora Postgre SQL DB dengan Babelfish, Anda memilih pemeriksaan untuk data Anda. Sebuah kolasi menentukan urutan dan pola bit yang menghasilkan teks atau karakter dalam bahasa manusia tertulis tertentu. Kolasi mencakup aturan yang membandingkan data untuk set pola bit tertentu. Kolasi terkait dengan lokalisasi. Lokal yang berbeda memengaruhi pemetaan karakter, urutan, dan sejenisnya. Atribut kolasi tercermin dalam nama berbagai kolasi. Untuk mengetahui informasi atribut, lihat Babelfish collation attributes table.

Babelfish memetakan koleksi SQL Server ke koleksi sebanding yang disediakan oleh Babelfish. Babelfish menentukan kolasi Unicode dengan urutan dan perbandingan string yang sensitif secara budaya. Babelfish juga menyediakan cara untuk menerjemahkan koleksi di SQL Server DB Anda ke koleksi Babelfish yang paling cocok. Kolasi khusus lokal disediakan untuk berbagai bahasa dan wilayah.

Beberapa kolasi menentukan halaman kode yang sesuai dengan pengodean sisi klien. Babelfish secara otomatis menerjemahkan dari pengodean server ke pengodean klien bergantung pada kolasi setiap kolom output.

Babelfish mendukung kolasi yang tercantum dalam Babelfish supported collations table. Babelfish memetakan koleksi SQL Server ke koleksi sebanding yang disediakan oleh Babelfish.

Babelfish menggunakan pustaka pengumpulan Komponen Internasional untuk Unicode () versi 153.80. ICU Untuk informasi selengkapnya tentang ICU susunan, lihat Pengumpulan dalam dokumentasi. ICU Untuk mempelajari lebih lanjut tentang Postgre SQL dan pemeriksaan, lihat Collation Support di dokumentasi Postgre. SQL

Parameter klaster DB yang mengontrol kolasi dan lokal

Parameter berikut memengaruhi perilaku kolasi.

babelfishpg_tsql.default_locale

Parameter ini menentukan lokal default yang digunakan oleh kolasi. Parameter ini digunakan dalam kombinasi dengan atribut yang tercantum dalam Babelfish collation attributes table untuk menyesuaikan kolasi untuk bahasa dan wilayah tertentu. Nilai default untuk parameter ini adalah en-US.

Lokal default berlaku untuk semua nama pemeriksaan Babelfish yang dimulai dengan "BBF" dan untuk semua kumpulan SQL Server yang dipetakan ke kumpulan Babelfish. Mengubah pengaturan untuk parameter ini pada klaster DB Babelfish yang ada tidak memengaruhi lokal kolasi yang ada. Untuk daftar kolasi, lihat Babelfish supported collations table.

babelfishpg_tsql.server_collation_name

Parameter ini menentukan pemeriksaan default untuk server (Aurora Postgre SQL DB cluster instance) dan database. Nilai default-nya adalah sql_latin1_general_cp1_ci_as. Harus server_collation_name berupa CI_AS pemeriksaan karena dalam T-SQL, pemeriksaan server menentukan bagaimana pengidentifikasi dibandingkan.

Saat Anda membuat klaster DB Babelfish, Anda memilih Nama kolasi dari daftar yang dapat dipilih. Ini termasuk kolasi yang tercantum dalam Babelfish supported collations table. Jangan memodifikasi server_collation_name setelah basis data Babelfish dibuat.

Pengaturan yang Anda pilih saat membuat klaster Babelfish untuk Aurora Postgre SQL DB disimpan dalam grup parameter cluster DB yang terkait dengan cluster untuk parameter ini dan mengatur perilaku koleksinya.

Kolasi deterministik dan nondeterministik di Babelfish

Babelfish mendukung kolasi deterministik dan nondeterministik:

  • Kolasi deterministik mengevaluasi karakter yang memiliki urutan byte identik sebagai sama. Itu berarti itu x dan X tidak sama dalam kolasi deterministik. Kolasi deterministik dapat berupa peka huruf besar/kecil (CS) dan peka karakter beraksen (AS).

  • Kolasi nondeterministik tidak membutuhkan kecocokan yang identik. Kolasi nondeterministik mengevaluasi x dan X sebagai nilai yang setara. Kumpulan nondeterministik adalah case-insensitive (CI) atau aksen-insensitif (AI), atau keduanya.

Pada tabel berikut, Anda dapat menemukan beberapa perbedaan perilaku antara Babelfish dan Postgre SQL saat menggunakan kumpulan nondeterministik.

Babelfish Postgre SQL

Mendukung LIKE klausa untuk kumpulan CI_AS.

Tidak mendukung LIKE klausa pada kumpulan nondeterministik.

Mendukung LIKE klausa hanya pada kumpulan AI berikut dari Babelfish versi 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

  • tradisional_spanish_ci_ai

Tidak mendukung LIKE klausa pada kumpulan nondeterministik.

Untuk daftar batasan dan perbedaan perilaku lain untuk Babelfish dibandingkan dengan SQL Server dan SQL Postgre, lihat. Batasan kolasi dan perbedaan perilaku

Babelfish dan SQL Server mengikuti konvensi penamaan untuk koleksi yang menggambarkan atribut pemeriksaan, seperti yang ditunjukkan pada tabel berikut.

Atribut Deskripsi

AI

Tidak peka karakter beraksen.

AS

Peka karakter beraksen.

BIN2

BIN2meminta data untuk diurutkan dalam urutan titik kode. Urutan titik kode unicode adalah urutan karakter yang sama untuk pengkodean UTF -8, UTF -16, dan UCS -2. Urutan titik kode adalah kolasi deterministik cepat.

CI

Tidak peka huruf besar/kecil.

CS

Peka huruf besar/kecil.

PREF

Untuk mengurutkan huruf besar sebelum huruf kecil, gunakan pemeriksaan. PREF Jika perbandingan tidak peka huruf besar/kecil, versi huruf besar akan diurutkan sebelum versi huruf kecil, jika tidak ada perbedaan lain. ICUPustaka mendukung preferensi huruf besar dengancolCaseFirst=upper, tetapi tidak untuk koleksi CI_AS.

PREFhanya dapat diterapkan pada kumpulan CS_AS deterministik.

Kolasi didukung pada tingkat database di Babelfish

Kumpulan berikut didukung pada tingkat database di 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

  • tradisional_spanish_ci_ai

  • tradisional_spanish_ci_as

catatan

Untuk menggunakan pemeriksaan yang berbeda di tingkat database, pastikan itu cocok dengan pemeriksaan tingkat server. Untuk informasi selengkapnya, silakan lihat Server dan Objek Collations di Babelfish

Server dan Objek Collations di Babelfish

Gunakan kolasi berikut sebagai kolasi server atau kolasi objek.

ID Kolasi Catatan

bbf_unicode_general_ci_as

Mendukung perbandingan case-insensitive dan operator. LIKE

bbf_unicode_cp1_ci_as

Pengumpulan nondeterministik juga dikenal sebagai. CP1252

CP125bbf_unicode_ 0_ci_as

Kolasi nondeterministik digunakan untuk mewakili teks dalam bahasa Eropa Tengah dan Eropa Timur yang menggunakan aksara Latin.

CP1251bbf_unicode_ _ci_as

Kolasi nondeterministik untuk bahasa yang menggunakan skrip Sirilik.

bbf_unicode_cp1253_ci_as

Kolasi nondeterministik digunakan untuk mewakili bahasa Yunani modern.

bbf_unicode_cp1254_ci_as

Kolasi nondeterministik yang mendukung bahasa Turki.

bbf_unicode_cp1255_ci_as

Kolasi nondeterministik yang mendukung bahasa Ibrani.

bbf_unicode_cp1256_ci_as

Kolasi nondeterministik digunakan untuk menulis bahasa yang menggunakan aksara Arab.

bbf_unicode_cp1257_ci_as

Kolasi nondeterministik digunakan untuk mendukung bahasa Estonia, Latvia, dan Lituania.

bbf_unicode_cp1258_ci_as

Kolasi nondeterministik digunakan untuk menulis karakter Vietnam.

bbf_unicode_cp874_ci_as

Kolasi nondeterministik digunakan untuk menulis karakter Thailand.

sql_latin1_general_cp1250_ci_as

Pengodean karakter byte tunggal nondeterministik digunakan untuk mewakili karakter Latin.

sql_latin1_general_cp1251_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1253_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1254_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1255_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1256_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1257_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

sql_latin1_general_cp1258_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

chinese_prc_ci_as

Pengumpulan nondeterministik yang mendukung bahasa Mandarin (). PRC

cyrillic_general_ci_as

Kolasi nondeterministik yang mendukung Sirilik.

finnish_swedish_ci_as

Kolasi nondeterministik yang mendukung bahasa Finlandia.

french_ci_as

Kolasi nondeterministik yang mendukung bahasa Prancis.

japanese_ci_as

Kolasi nondeterministik yang mendukung bahasa Jepang. Didukung di Babelfish 2.1.0 dan rilis yang lebih baru.

korean_wansung_ci_as

Kolasi nondeterministik yang mendukung bahasa Korea (dengan jenis kamus).

latin1_general_ci_as

Kolasi nondeterministik yang mendukung karakter Latin.

modern_spanish_ci_as

Kolasi nondeterministik yang mendukung bahasa Spanyol Modern.

polish_ci_as

Kolasi nondeterministik yang mendukung bahasa Polandia.

thai_ci_as

Kolasi nondeterministik yang mendukung bahasa Thailand.

tradisional_spanish_ci_as

Kolasi nondeterministik yang mendukung bahasa Spanyol (jenis tradisional).

turkish_ci_as

Kolasi nondeterministik yang mendukung bahasa Turki.

ukrainian_ci_as

Kolasi nondeterministik yang mendukung Ukraina.

vietnamese_ci_as

Kolasi nondeterministik yang mendukung bahasa Vietnam.

Anda dapat menggunakan kolasi berikut sebagai kolasi objek.

Dialek Opsi deterministik Opsi nondeterministik

Arab

Arabic_CS_AS

Arabic_CI_AS

Arabic_ci_ai

Skrip Arab

BBF_Unicode_ _CS_AS CP1256

BBF_Unicode_Pref_ _CS_AS CP1256

BBF_Unicode_ _CI_AI CP1256

BBF_Unicode_ _CS_AI CP1256

Biner

latin1_general_bin2

BBF_Unicode_ BIN2

Bahasa Eropa Tengah dan Eropa Timur yang menggunakan aksara Latin

BBF_Unicode_ 0_CS_AS CP125

BBF_Unicode_Pref_ 0_CS_AS CP125

BBF_Unicode_ 0_CI_AI CP125

BBF_Unicode_ 0_CS_AI CP125

Mandarin

Cina_ _CS_AS PRC

PRCCina_ _CI_AS

PRCCina_ _CI_AI

Cyrillic_Umum

Cyrillic_General_CS_AS

Cyrillic_General_CI_AS

Cyrillic_General_CI_AI

Skrip Sirilik

BBF_Unicode_ _CS_AS CP1251

BBF_Unicode_Pref_ _CS_AS CP1251

BBF_Unicode_ _CI_AI CP1251

BBF_Unicode_ _CS_AI CP1251

Estonia

Estonian_CS_AS

Estonia_CI_AS

Estonia_CI_AI

Estonia, Latvia, dan Lituania

BBF_Unicode_ _CS_AS CP1257

BBF_Unicode_Pref_ _CS_AS CP1257

BBF_Unicode_ _CI_AI CP1257

BBF_Unicode_ _CS_AI CP1257

Finlandia_Swedia

Finnish_Swedish_CS_AS

Finnish_Swedish_CI_AS

Finlandia_Swedia_CI_AI

Prancis

French_CS_AS

French_CI_AS

Perancis_CI_AI

Yunani

Greek_CS_AS

Yunani_ci_as

Yunani_ci_ai

Ibrani

BBF_Unicode_ _CS_AS CP1255

BBF_Unicode_Pref_ _CS_AS CP1255

Hebrew_CS_AS

BBF_Unicode_ _CI_AI CP1255

BBF_Unicode_ _CS_AI CP1255

Hebrew_CI_AS

Ibrani_CI_ai

Jepang (Babelfish 2.1.0 dan lebih tinggi)

Japanese_CS_AS

Jepang_CI_AI

Japanese_CI_AS

Korea_Wamsung

Korean_Wamsung_CS_AS

Korea_Wamsung_CI_AS

Korea_Wamsung_CI_AI

Karakter Latin untuk halaman kode CP1252

latin1_general_cs_as

BBF_Unicode_General_CS_AS

BBF_Unicode_General_Pref_CS_AS

BBF_Unicode_Pref_ _CS_AS CP1

BBF_Unicode_ _CS_AS CP1

latin1_general_ci_as

latin1_general_ci_ai

latin1_general_cs_ai

BBF_Unicode_Umum_CI_AI

BBF_Unicode_Umum_CS_AI

BBF_Unicode_ _CI_AI CP1

BBF_Unicode_ _CS_AI CP1

Yunani modern

BBF_Unicode_ _CS_AS CP1253

BBF_Unicode_Pref_ _CS_AS CP1253

BBF_Unicode_ _CI_AI CP1253

BBF_Unicode_ _CS_AI CP1253

Modern_Spanyol

Modern_Spanish_CS_AS

Modern_Spanish_CI_AS

Modern_Spanyol_CI_AI

Mongolia

Mongolian_CS_AS

Mongolia_CI_AS

Mongolia_CI_ai

Polandia

Polish_CS_AS

Polish_CI_AS

Polandia_CI_AI

Thai

BBF_Unicode_ _CS_AS CP874

BBF_Unicode_Pref_ _CS_AS CP874

Thai_CS_AS

BBF_Unicode_ _CI_AI CP874

BBF_Unicode_ _CS_AI CP874

Thai_CI_AS, Thai_CI_AI

Tradisional_Spanyol

Traditional_Spanish_CS_AS

Tradisional_Spanish_CI_AS

Tradisional_Spanyol_CI_AI

Turki

BBF_Unicode_ _CS_AS CP1254

BBF_Unicode_Pref_ _CS_AS CP1254

Turkish_CS_AS

BBF_Unicode_ _CI_AI CP1254

BBF_Unicode_ _CS_AI CP1254

Turkish_CI_AS, Turkish_CI_AI

Ukrania

Ukranian_CS_AS

Ukranian_ci_as

Ukranian_ci_ai

Vietnam

BBF_Unicode_ _CS_AS CP1258

BBF_Unicode_Pref_ _CS_AS CP1258

Vietnamese_CS_AS

BBF_Unicode_ _CI_AI CP1258

BBF_Unicode_ _CS_AI CP1258

Vietnam_CI_AS

Vietnam_ci_ai

Perilaku Collation default di Babelfish

Sebelumnya, kolasi default dari tipe data yang dapat dikolasi adalah pg_catalog.default. Tipe data dan objek yang bergantung pada tipe data ini mengikuti kolasi peka huruf besar/kecil. Kondisi ini berpotensi berdampak pada SQL objek T dari kumpulan data dengan pemeriksaan case-insensitive. Dimulai dengan Babelfish 2.3.0, pemeriksaan default untuk tipe data yang dapat dijaminkan (kecuali TEXT danNTEXT) sama dengan pemeriksaan dalam parameter. babelfishpg_tsql.server_collation_name Saat Anda meningkatkan ke Babelfish 2.3.0, kolasi default dipilih secara otomatis pada saat pembuatan klaster DB, yang tidak menciptakan dampak yang terlihat.