Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kolasi yang didukung oleh Babelfish
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 kolasi di SQL Server DB Anda ke kolasi 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 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 Kolasi
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
.server_collation_name
harus berupa kolasiCI_AS
karena di T-SQL, kolasi server akan menentukan perbandingan pengidentifikasi.Saat Anda membuat klaster DB Babelfish, Anda memilih Nama kolasi dari daftar yang dapat dipilih. Ini termasuk susunan yang tercantum dalam Babelfish supported collations table. Jangan memodifikasi
server_collation_name
setelah 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 serta Babelfish
Babelfish mendukung kolasi deterministik dan nondeterministik:
Kolasi deterministik mengevaluasi karakter yang memiliki urutan byte identik sebagai sama. Itu berarti itu
x
danX
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
danX
sebagai nilai yang setara. Kolasi nondeterministik bersifat tidak peka huruf besar/kecil (CI) dan tidak peka karakter beraksen (AI).
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. |
Tidak mendukung klausa |
|
Jangan mendukung operasi pencocokan pola 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 |
Tidak peka karakter beraksen. |
AS |
Peka karakter beraksen. |
BIN2 |
BIN2 meminta data untuk diurutkan dalam urutan titik kode. Urutan titik kode Unicode adalah urutan karakter yang sama untuk pengodean 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 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 yang didukung oleh 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 (RRC). |
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 |
Mandarin |
Chinese_CS_AS |
Chinese_CI_AS, Chinese_CI_AI |
Cyrillic_Umum |
Cyrillic_General_CS_AS |
Cyrillic_General_CI_AS, Cyrillic_General_CI_AI |
Estonia |
Estonian_CS_AS |
Estonian_CI_AS, Estonian_CI_AI |
Finlandia_Swedia |
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 |
Hebrew_CS_AS |
Hebrew_CI_AS, Hebrew_CI_AI |
Jepang (Babelfish 2.1.0 dan lebih tinggi) |
Japanese_CS_AS | Japanese_CI_AI, Japanese_CI_AS |
Korea_Wamsung |
Korean_Wamsung_CS_AS |
Korean_Wamsung_CI_AS, Korean_Wamsung_CI_AI |
Modern_Spanyol |
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 |
Thai_CS_AS |
Thai_CI_AS, Thai_CI_AI |
Tradisional_Spanyol |
Traditional_Spanish_CS_AS |
Traditional_Spanish_CI_AS, Traditional_Spanish_CI_AI |
Turki |
Turkish_CS_AS |
Turkish_CI_AS, Turkish_CI_AI |
Ukrania |
Ukranian_CS_AS |
Ukranian_CI_AS, Ukranian_CI_AI |
Vietnam |
Vietnamese_CS_AS |
Vietnamese_CI_AS, Vietnamese_CI_AI |
Kolasi 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 objek T-SQL dari kumpulan data dengan kolasi tidak peka huruf besar/kecil. 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.