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 PostgreSQL
Saat Anda membuat klaster DB Aurora PostgreSQL dengan Babelfish, Anda memilih kolasi 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 kolasi SQL Server ke kolasi 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 pemeriksaan Babelfish yang paling cocok. Locale-specific koleksi 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 kolasi SQL Server ke kolasi sebanding yang disediakan oleh Babelfish.
Babelfish menggunakan pustaka kolasi International Components for Unicode (ICU) versi 153.80. Untuk informasi lebih lanjut tentang kolasi ICU, lihat Collation
Topik
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 kolasi Babelfish yang dimulai dengan "BBF" dan untuk semua kolasi SQL Server yang dipetakan ke kolasi 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 kolasi default untuk server (instans klaster DB Aurora PostgreSQL) dan basis data. Nilai default-nya adalah
sql_latin1_general_cp1_ci_as. Harusserver_collation_nameberupaCI_ASpemeriksaan karena di 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_namesetelah basis data Babelfish dibuat.
Pengaturan yang Anda pilih saat membuat klaster DB Babelfish for Aurora PostgreSQL disimpan dalam grup parameter klaster DB yang terkait dengan klaster untuk parameter ini dan mengatur perilaku kolasinya.
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
xdanXtidak 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
xdanXsebagai 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 PostgreSQL saat menggunakan kolasi nondeterministik.
| Babelfish | PostgreSQL |
|---|---|
|
Mendukung klausa LIKE untuk kolasi CI_AS. |
Tidak mendukung klausa LIKE pada kolasi nondeterministik. |
|
Mendukung klausa LIKE hanya pada kumpulan AI berikut dari Babelfish versi 4.2.0:
|
Tidak mendukung klausa LIKE pada kolasi nondeterministik. |
Untuk melihat daftar batasan dan perbedaan perilaku lainnya untuk Babelfish dibandingkan dengan SQL Server dan PostgreSQL, lihat Batasan kolasi dan perbedaan perilaku.
Babelfish dan SQL Server mengikuti konvensi penamaan untuk kolasi yang menjelaskan atribut kolasi, seperti yang ditunjukkan pada tabel berikut.
| Atribut | Deskripsi |
|---|---|
AI |
Accent-insensitive. |
AS |
Accent-sensitive. |
BIN2 |
BIN2 meminta data untuk diurutkan dalam urutan titik kode. Urutan titik kode unicode adalah urutan karakter yang sama untuk UTF-8, UTF-16, dan UCS-2 pengkodean. Urutan titik kode adalah kolasi deterministik cepat. |
CI |
Case-insensitive. |
CS |
Case-sensitive. |
PREF |
Untuk mengurutkan huruf besar sebelum huruf kecil, gunakan kolasi PREF. Jika perbandingan tidak peka huruf besar/kecil, versi huruf besar akan diurutkan sebelum versi huruf kecil, jika tidak ada perbedaan lain. Pustaka ICU mendukung preferensi huruf besar dengan PREF hanya dapat diterapkan pada kolasi 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, lihat Kumpulan Server dan objek di Babelfish
Kumpulan Server dan objek di Babelfish
Gunakan kolasi berikut sebagai kolasi server atau kolasi objek.
| ID Kolasi | Catatan |
|---|---|
|
bbf_unicode_general_ci_as |
Mendukung perbandingan tidak peka huruf besar/kecil dan operator LIKE. |
|
bbf_unicode_cp1_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_CP1250_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_CP1251_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp1253_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp1254_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp1255_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp1256_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp1257_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp1258_ci_as |
Kolasi nondeterministik |
|
bbf_unicode_cp874_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1250_ci_as |
Pengodean karakter byte tunggal nondeterministik |
|
sql_latin1_general_cp1251_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1253_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1254_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1255_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1256_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1257_ci_as |
Kolasi nondeterministik |
|
sql_latin1_general_cp1258_ci_as |
Kolasi nondeterministik |
|
chinese_prc_ci_as |
Kolasi nondeterministik yang mendukung bahasa Mandarin (RRT). |
|
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_ 1256_CS_AS Unicode_CP BBF_ 1256_CS_AS Unicode_Pref_CP |
BBF_ 1256_CI_AI Unicode_CP BBF_ 1256_CS_AI Unicode_CP |
|
Biner |
latin1_general_bin2 BBF_ 2 Unicode_BIN |
– |
|
Bahasa Eropa Tengah dan Eropa Timur yang menggunakan aksara Latin |
BBF_ 1250_CS_AS Unicode_CP BBF_ 1250_CS_AS Unicode_Pref_CP |
BBF_ 1250_CI_AI Unicode_CP BBF_ 1250_CS_AI Unicode_CP |
|
Mandarin |
Chinese_PRC_CS_AS |
Chinese_PRC_CI_AS Chinese_PRC_CI_AI |
|
Cyrillic_General |
Cyrillic_General_CS_AS |
Cyrillic_General_CI_AS Cyrillic_General_CI_AI |
|
Skrip Sirilik |
BBF_ 1251_CS_AS Unicode_CP BBF_ 1251_CS_AS Unicode_Pref_CP |
BBF_ 1251_CI_AI Unicode_CP BBF_ 1251_CS_AI Unicode_CP |
|
Estonia |
Estonian_CS_AS |
Estonian_CI_AS Estonian_CI_AI |
|
Estonia, Latvia, dan Lituania |
BBF_ 1257_CS_AS Unicode_CP BBF_ 1257_CS_AS Unicode_Pref_CP |
BBF_ 1257_CI_AI Unicode_CP BBF_ 1257_CS_AI Unicode_CP |
|
Finnish_Swedish |
Finnish_Swedish_CS_AS |
Finnish_Swedish_CI_AS Finnish_Swedish_CI_AI |
|
Prancis |
French_CS_AS |
French_CI_AS French_CI_AI |
|
Yunani |
Greek_CS_AS |
Greek_CI_AS Greek_CI_AI |
|
Ibrani |
BBF_ 1255_CS_AS Unicode_CP BBF_ 1255_CS_AS Unicode_Pref_CP Hebrew_CS_AS |
BBF_ 1255_CI_AI Unicode_CP BBF_ 1255_CS_AI Unicode_CP Hebrew_CI_AS Hebrew_CI_AI |
|
Jepang (Babelfish 2.1.0 dan lebih tinggi) |
Japanese_CS_AS |
Japanese_CI_AI Japanese_CI_AS |
|
Korean_Wamsung |
Korean_Wamsung_CS_AS |
Korean_Wamsung_CI_AS Korean_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_ 1_CS_AS Unicode_Pref_CP BBF_ 1_CS_AS Unicode_CP |
latin1_general_ci_as latin1_general_ci_ai latin1_general_cs_ai BBF_ Unicode_General_CI_AI BBF_ Unicode_General_CS_AI BBF_ 1_CI_AI Unicode_CP BBF_ 1_CS_AI Unicode_CP |
|
Yunani modern |
BBF_ 1253_CS_AS Unicode_CP BBF_ 1253_CS_AS Unicode_Pref_CP |
BBF_ 1253_CI_AI Unicode_CP BBF_ 1253_CS_AI Unicode_CP |
|
Modern_Spanish |
Modern_Spanish_CS_AS |
Modern_Spanish_CI_AS Modern_Spanish_CI_AI |
|
Mongolia |
Mongolian_CS_AS |
Mongolian_CI_AS Mongolian_CI_AI |
|
Polandia |
Polish_CS_AS |
Polish_CI_AS Polish_CI_AI |
|
Thai |
BBF_ 874_CS_AS Unicode_CP BBF_ 874_CS_AS Unicode_Pref_CP Thai_CS_AS |
BBF_ 874_CI_AI Unicode_CP BBF_ 874_CS_AI Unicode_CP Thai_CI_AS, Thai_CI_AI |
|
Traditional_Spanish |
Traditional_Spanish_CS_AS |
Traditional_Spanish_CI_AS Traditional_Spanish_CI_AI |
|
Turki |
BBF_ 1254_CS_AS Unicode_CP BBF_ 1254_CS_AS Unicode_Pref_CP Turkish_CS_AS |
BBF_ 1254_CI_AI Unicode_CP BBF_ 1254_CS_AI Unicode_CP Turkish_CI_AS, Turkish_CI_AI |
|
Ukrania |
Ukranian_CS_AS |
Ukranian_CI_AS Ukranian_CI_AI |
|
Vietnam |
BBF_ 1258_CS_AS Unicode_CP BBF_ 1258_CS_AS Unicode_Pref_CP Vietnamese_CS_AS |
BBF_ 1258_CI_AI Unicode_CP BBF_ 1258_CS_AI Unicode_CP Vietnamese_CI_AS Vietnamese_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 memengaruhi T-SQL objek kumpulan data dengan pemeriksaan case-insensitive. Dimulai dengan Babelfish 2.3.0, kolasi default untuk tipe data yang dapat dikolasi (kecuali TEXT dan NTEXT) sama dengan kolasi 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.