

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
<a name="babelfish-collations"></a>

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](#bfish-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](#bfish-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](https://unicode-org.github.io/icu/userguide/collation/) dalam dokumentasi ICU. Untuk mempelajari lebih lanjut tentang PostgreSQL dan kolasi, lihat [Collation Support](https://www.postgresql.org/docs/current/collation.html) dalam dokumentasi PostgreSQL.

**Topics**
+ [Parameter klaster DB yang mengontrol kolasi dan lokal](#babelfish-collations.parameters)
+ [Kolasi deterministik dan nondeterministik di Babelfish](#babelfish-collations.deterministic-nondeterministic)
+ [Kolasi didukung pada tingkat database di Babelfish](#babelfish-collations.database-level)
+ [Kumpulan Server dan objek di Babelfish](#babelfish-collations.reference-tables-supported-collations)
+ [Perilaku Collation default di Babelfish](#babelfish-collations-default)
+ [Mengelola kolasi](collation.managing.md)
+ [Batasan kolasi dan perbedaan perilaku](collation.limitations.md)

## Parameter klaster DB yang mengontrol kolasi dan lokal
<a name="babelfish-collations.parameters"></a><a name="collation-related-parameters"></a>

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](#bfish-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](#bfish-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`. Harus `server_collation_name` berupa `CI_AS` pemeriksaan 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](#bfish-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 di Babelfish
<a name="babelfish-collations.deterministic-nondeterministic"></a>

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 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:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/AuroraUserGuide/babelfish-collations.html) | 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](collation.limitations.md). 

Babelfish dan SQL Server mengikuti konvensi penamaan untuk kolasi yang menjelaskan atribut kolasi, seperti yang ditunjukkan pada tabel berikut.<a name="bfish-collation-attributes-table"></a>


| 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 `colCaseFirst=upper`, tetapi tidak untuk kolasi CI\_AS.<br />PREF hanya dapat diterapkan pada kolasi deterministik `CS_AS`. | 

## Kolasi didukung pada tingkat database di Babelfish
<a name="babelfish-collations.database-level"></a>

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](#babelfish-collations.reference-tables-supported-collations)

## Kumpulan Server dan objek di Babelfish
<a name="babelfish-collations.reference-tables-supported-collations"></a>

Gunakan kolasi berikut sebagai kolasi server atau kolasi objek.<a name="bfish-collations-table"></a>


| 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](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt) juga dikenal sebagai CP1252. | 
| bbf\_unicode\_CP1250\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1250.txt) digunakan untuk mewakili teks dalam bahasa Eropa Tengah dan Eropa Timur yang menggunakan aksara Latin. | 
| bbf\_unicode\_CP1251\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1251.txt) untuk bahasa yang menggunakan skrip Sirilik. | 
| bbf\_unicode\_cp1253\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1253.txt) digunakan untuk mewakili bahasa Yunani modern. | 
| bbf\_unicode\_cp1254\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1254.txt) yang mendukung bahasa Turki. | 
| bbf\_unicode\_cp1255\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt) yang mendukung bahasa Ibrani. | 
| bbf\_unicode\_cp1256\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1256.txt) digunakan untuk menulis bahasa yang menggunakan aksara Arab. | 
| bbf\_unicode\_cp1257\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1257.txt) digunakan untuk mendukung bahasa Estonia, Latvia, dan Lituania. | 
| bbf\_unicode\_cp1258\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1258.txt) digunakan untuk menulis karakter Vietnam. | 
| bbf\_unicode\_cp874\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit874.txt) digunakan untuk menulis karakter Thailand. | 
| sql\_latin1\_general\_cp1250\_ci\_as | [Pengodean karakter byte tunggal nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1250.txt) digunakan untuk mewakili karakter Latin. | 
| sql\_latin1\_general\_cp1251\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1251.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1253\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1253.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1254\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1254.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1255\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1256\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1256.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1257\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1257.txt) yang mendukung karakter Latin. | 
| sql\_latin1\_general\_cp1258\_ci\_as | [Kolasi nondeterministik](https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1258.txt) yang mendukung karakter Latin. | 
| 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.<a name="bfish-icu-collations-table"></a>


| Dialek | Opsi deterministik | Opsi nondeterministik | 
| --- | --- | --- | 
| Arab | Arabic\_CS\_AS | Arabic\_CI\_AS<br />Arabic\_CI\_AI | 
| Skrip Arab | BBF\_ 1256\_CS\_AS Unicode\_CP<br />BBF\_ 1256\_CS\_AS Unicode\_Pref\_CP | BBF\_ 1256\_CI\_AI Unicode\_CP<br />BBF\_ 1256\_CS\_AI Unicode\_CP | 
| Biner | latin1\_general\_bin2<br />BBF\_ 2 Unicode\_BIN | – | 
| Bahasa Eropa Tengah dan Eropa Timur yang menggunakan aksara Latin | BBF\_ 1250\_CS\_AS Unicode\_CP<br />BBF\_ 1250\_CS\_AS Unicode\_Pref\_CP | BBF\_ 1250\_CI\_AI Unicode\_CP<br />BBF\_ 1250\_CS\_AI Unicode\_CP | 
| Mandarin | Chinese\_PRC\_CS\_AS | Chinese\_PRC\_CI\_AS<br />Chinese\_PRC\_CI\_AI | 
| Cyrillic\_General | Cyrillic\_General\_CS\_AS | Cyrillic\_General\_CI\_AS<br />Cyrillic\_General\_CI\_AI | 
| Skrip Sirilik | BBF\_ 1251\_CS\_AS Unicode\_CP<br />BBF\_ 1251\_CS\_AS Unicode\_Pref\_CP | BBF\_ 1251\_CI\_AI Unicode\_CP<br />BBF\_ 1251\_CS\_AI Unicode\_CP | 
| Estonia | Estonian\_CS\_AS | Estonian\_CI\_AS<br />Estonian\_CI\_AI | 
| Estonia, Latvia, dan Lituania | BBF\_ 1257\_CS\_AS Unicode\_CP<br />BBF\_ 1257\_CS\_AS Unicode\_Pref\_CP | BBF\_ 1257\_CI\_AI Unicode\_CP<br />BBF\_ 1257\_CS\_AI Unicode\_CP | 
| Finnish\_Swedish | Finnish\_Swedish\_CS\_AS | Finnish\_Swedish\_CI\_AS<br />Finnish\_Swedish\_CI\_AI | 
| Prancis | French\_CS\_AS | French\_CI\_AS<br />French\_CI\_AI | 
| Yunani | Greek\_CS\_AS | Greek\_CI\_AS<br />Greek\_CI\_AI | 
| Ibrani | BBF\_ 1255\_CS\_AS Unicode\_CP<br />BBF\_ 1255\_CS\_AS Unicode\_Pref\_CP<br />Hebrew\_CS\_AS | BBF\_ 1255\_CI\_AI Unicode\_CP<br />BBF\_ 1255\_CS\_AI Unicode\_CP<br />Hebrew\_CI\_AS<br />Hebrew\_CI\_AI | 
| Jepang (Babelfish 2.1.0 dan lebih tinggi) | Japanese\_CS\_AS | Japanese\_CI\_AI<br />Japanese\_CI\_AS | 
| Korean\_Wamsung | Korean\_Wamsung\_CS\_AS | Korean\_Wamsung\_CI\_AS<br />Korean\_Wamsung\_CI\_AI | 
| Karakter Latin untuk halaman kode CP1252 | latin1\_general\_cs\_as<br />BBF\_ Unicode\_General\_CS\_AS<br />BBF\_ Unicode\_General\_Pref\_CS\_AS<br />BBF\_ 1\_CS\_AS Unicode\_Pref\_CP<br />BBF\_ 1\_CS\_AS Unicode\_CP | latin1\_general\_ci\_as<br />latin1\_general\_ci\_ai<br />latin1\_general\_cs\_ai<br />BBF\_ Unicode\_General\_CI\_AI<br />BBF\_ Unicode\_General\_CS\_AI<br />BBF\_ 1\_CI\_AI Unicode\_CP<br />BBF\_ 1\_CS\_AI Unicode\_CP | 
| Yunani modern | BBF\_ 1253\_CS\_AS Unicode\_CP<br />BBF\_ 1253\_CS\_AS Unicode\_Pref\_CP | BBF\_ 1253\_CI\_AI Unicode\_CP<br />BBF\_ 1253\_CS\_AI Unicode\_CP | 
| Modern\_Spanish | Modern\_Spanish\_CS\_AS | Modern\_Spanish\_CI\_AS<br />Modern\_Spanish\_CI\_AI | 
| Mongolia | Mongolian\_CS\_AS | Mongolian\_CI\_AS<br />Mongolian\_CI\_AI | 
| Polandia | Polish\_CS\_AS | Polish\_CI\_AS<br />Polish\_CI\_AI | 
| Thai | BBF\_ 874\_CS\_AS Unicode\_CP<br />BBF\_ 874\_CS\_AS Unicode\_Pref\_CP<br />Thai\_CS\_AS | BBF\_ 874\_CI\_AI Unicode\_CP<br />BBF\_ 874\_CS\_AI Unicode\_CP<br />Thai\_CI\_AS, Thai\_CI\_AI | 
| Traditional\_Spanish | Traditional\_Spanish\_CS\_AS | Traditional\_Spanish\_CI\_AS<br />Traditional\_Spanish\_CI\_AI | 
| Turki | BBF\_ 1254\_CS\_AS Unicode\_CP<br />BBF\_ 1254\_CS\_AS Unicode\_Pref\_CP<br />Turkish\_CS\_AS | BBF\_ 1254\_CI\_AI Unicode\_CP<br />BBF\_ 1254\_CS\_AI Unicode\_CP<br />Turkish\_CI\_AS, Turkish\_CI\_AI | 
| Ukrania | Ukranian\_CS\_AS | Ukranian\_CI\_AS<br />Ukranian\_CI\_AI | 
| Vietnam | BBF\_ 1258\_CS\_AS Unicode\_CP<br />BBF\_ 1258\_CS\_AS Unicode\_Pref\_CP<br />Vietnamese\_CS\_AS | BBF\_ 1258\_CI\_AI Unicode\_CP<br />BBF\_ 1258\_CS\_AI Unicode\_CP<br />Vietnamese\_CI\_AS<br />Vietnamese\_CI\_AI | 

## Perilaku Collation default di Babelfish
<a name="babelfish-collations-default"></a>

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. 