Kolasi yang didukung oleh Babelfish - Amazon Aurora

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 dalam dokumentasi ICU. Untuk mempelajari lebih lanjut tentang PostgreSQL dan kolasi, lihat Dukungan Kolasi dalam dokumentasi PostgreSQL.

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 kolasi CI_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 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. 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 LIKE pada kolasi AI.

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 colCaseFirst=upper, tetapi tidak untuk kolasi CI_AS.

PREF hanya dapat diterapkan pada kolasi deterministik CS_AS.

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 juga dikenal sebagai CP1252.

bbf_unicode_CP1250_ci_as

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

bbf_unicode_CP1251_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

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.