本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 EBCDIC 和其他大型機遷移的 RDS for PostgreSQL 定序
RDS for PostgreSQL 10 版及更高版本包括基於 Unicode 10.0 的 ICU 版本 60.2,其中包含來自 Unicode 通用語言環境資料儲存庫 (CLDR 32) 的定序。這些軟體國際化程式庫可確保字元編碼以一致的方式呈現,不論作業系統或平台為何。如需 Unicode CLDR-32 的詳細資訊,請參閱 Unicode CLDR 網站上的 CLDR 32 版本備註
從 14.3 版開始,RDS for PostgreSQL 也包含有助於從 EBCDC 系統進行資料整合和轉換的定序。擴展的二進制編碼十進制交換碼或 EBCDIC 編碼通常由大型機作業系統使用。這些 Amazon RDS 提供的定序定義很小,只能夠直接對應至 EBCDIC 字碼頁的 Unicode 字元。這些字元按 EBCDIC 代碼點順序進行排序,以便在轉換後進行資料驗證。這些定序不包含部正常的格式,也不包含未直接對應至來源 EBCDIC 字碼頁的 Unicode 字元。
EBCDIC 字碼頁與 Unicode 字碼點之間的字元對應是以 IBM 發佈的表格為基礎。完整的設定可從 IBM 的壓縮檔案
-
Unicode to EBCDIC collations table - 部分大型主機資料移轉工具在內部使用 LATIN1 或 LATIN9 來編碼及處理資料。這類工具使用往返結構描述來保留資料完整性並支援反向轉換。此資料表中的定序可以由使用 LATIN1 編碼來處理資料的工具使用,這不需要特殊處理。
-
Unicode to LATIN9 collations table - 您可以在任何 RDS for PostgreSQL 資料庫中使用這些定序。
在下表中,您會發現 RDS 版 PostgreSQL 中可用的定序,這些定序會將 EBCDIC 字碼頁對應至 Unicode 字碼點。我們建議您使用此表格中的定序來進行應用程式開發,這些應用程式開發需要根據 IBM 字碼頁的順序進行排序。
| PostgreSQL 定序名稱 | 字碼頁對應和排序順序的說明 |
|---|---|
da-DK-cp277-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 277 (每個轉換表) 按照 IMB CP 277 字碼點順序排序 |
de-DE-cp273-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 273 (每個轉換表) 按照 IMB CP 273 字碼點順序排序 |
en-GB-cp285-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 285 (每個轉換表) 按照 IMB CP 285 字碼點順序排序 |
en-US-cp037-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 037 (每個轉換表) 按照 IMB CP 37 字碼點順序排序 |
es-ES-cp284-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 284 (每個轉換表) 按照 IMB CP 284 字碼點順序排序 |
fi-FI-cp278-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 278 (每個轉換表) 按照 IMB CP 278 字碼點順序排序 |
fr-FR-cp297-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 297 (每個轉換表) 按照 IMB CP 297 字碼點順序排序 |
it-IT-cp280-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 280 (每個轉換表) 按照 IMB CP 280 字碼點順序排序 |
nl-BE-cp500-x-icu |
Unicode 字元直接對應至 IBM EBCDIC 字碼頁 500 (每個轉換表) 按照 IMB CP 500 字碼點順序排序 |
Amazon RDS 提供一組額外的定序,可根據來源資料的 EBCDIC 字碼頁,使用 IBM 發佈的表格,依原始程式碼點的順序,對應至 LATIN9 字元的 Unicode 程式碼點進行排序。
| PostgreSQL 定序名稱 | 字碼頁對應排序順序的說明 |
|---|---|
da-DK-cp1142m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1142 (每個轉換表) 按照 IMB CP 1142 字碼點順序排序 |
de-DE-cp1141m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1141 (每個轉換表) 按照 IMB CP 1141 字碼點順序排序 |
en-GB-cp1146m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1146 (每個轉換表) 按照 IMB CP 1146 字碼點順序排序 |
en-US-cp1140m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1140 (每個轉換表) 按照 IMB CP 1140 字碼點順序排序 |
es-ES-cp1145m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1145 (每個轉換表) 按照 IMB CP 1145 字碼點順序排序 |
fi-FI-cp1143m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1143 (每個轉換表) 按照 IMB CP 1143 字碼點順序排序 |
fr-FR-cp1147m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1147 (每個轉換表) 按照 IMB CP 1147 字碼點順序排序 |
it-IT-cp1144m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1144 (每個轉換表) 按照 IMB CP 1144 字碼點順序排序 |
nl-BE-cp1148m-x-icu |
Unicode 字元對應至 LATIN9 字元,原始轉換自 IBM EBCDIC 字碼頁 1148 (每個轉換表) 按照 IMB CP 1148 字碼點順序排序 |
在下列各項中,您可以找到使用 RDS for PostgreSQL 定序的範例。
db1=>SELECT pg_import_system_collations('pg_catalog');pg_import_system_collations ----------------------------- 36db1=>SELECT '¤' < 'a' col1;col1 ------ tdb1=>SELECT '¤' < 'a' COLLATE "da-DK-cp277-x-icu" col1;col1 ------ f
我們建議您使用 Unicode to EBCDIC collations table 中的定序並在 Unicode to LATIN9 collations table 中用於需要根據 IBM 字碼頁排序進行排序的應用程式開發。下列定序 (後綴為字母「b」) 也可以在 pg_collation 中看見,但適用於以下位置的大型主機資料整合和移轉工具,AWS 對應具有特定字碼點位移的字碼頁,並且需要在定序中進行特殊處理。換言之,不建議使用下列定序。
-
da-DK-277b-x-icu
-
da-DK-1142b-x-icu
-
de-DE-cp273b-x-icu
-
de-DE-cp1141b-x-icu
-
en-GB-cp1146b-x-icu
-
en-GB-cp285b-x-icu
-
en-US-cp037b-x-icu
-
en-US-cp1140b-x-icu
-
es-ES-cp1145b-x-icu
-
es-ES-cp284b-x-icu
-
fi-FI-cp1143b-x-icu
-
fr-FR-cp1147b-x-icu
-
fr-FR-cp297b-x-icu
-
it-IT-cp1144b-x-icu
-
it-IT-cp280b-x-icu
-
nl-BE-cp1148b-x-icu
-
nl-BE-cp500b-x-icu
若要深入了解如何將應用程式從大型主機環境移轉至 AWS,請參閱什麼是 AWS 大型機現代化?。
若要進一步了解管理 PostgreSQL 中的定序,請參閱 PostgreSQL 文件中的定序支援