適用於 EBCDIC 和其他大型機遷移的 RDS for PostgreSQL 定序 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

適用於 EBCDIC 和其他大型機遷移的 RDS for PostgreSQL 定序

RDS for PostgreSQL 10 版及更高版本包括基於 Unicode 10.0 的 ICU 版本 60.2,其中包含來自 Unicode 通用語言環境資料儲存庫 (CLDR 32) 的定序。這些軟體國際化程式庫可確保字元編碼以一致的方式呈現,不論作業系統或平台為何。如需 Unicode CLDR-32 的詳細資訊,請參閱 Unicode CLDR 網站上的 CLDR 32 版本備註。您可以在 ICU Technical Committee (ICU-TC) 網站了解有關 Unicode (ICU) 的國際化元件的更多資訊。如需有關 ICU-60 的資訊,請參閱下載 ICU 60

從 14.3 版開始,RDS for PostgreSQL 也包含有助於從 EBCDC 系統進行資料整合和轉換的定序。擴展的二進制編碼十進制交換碼或 EBCDIC 編碼通常由大型機作業系統使用。這些 Amazon RDS 提供的定序定義很小,只能夠直接對應至 EBCDIC 字碼頁的 Unicode 字元。這些字元按 EBCDIC 代碼點順序進行排序,以便在轉換後進行資料驗證。這些定序不包含部正常的格式,也不包含未直接對應至來源 EBCDIC 字碼頁的 Unicode 字元。

EBCDIC 字碼頁與 Unicode 字碼點之間的字元對應是以 IBM 發佈的表格為基礎。完整的設定可從 IBM 的壓縮檔案下載。RDS for PostgreSQL 會將這些對應與 ICU 提供的工具搭配使用,以建立本節中表格中列出的定序。定序名稱包括 ICU 要求的語言和國家/地區。但是,EBCDIC 字碼頁不會指定語言,有些 EBCDIC 字碼頁涵蓋多個國家/地區。這表示資料表中定序名稱的語言和國家/地區部分是任意的,而且不需要與目前的地區設定相符。換句話說,字碼頁編號是此表格中定序名稱最重要的部分。您可以在任何 RDS for PostgreSQL 資料庫中使用下列表格中列出的任何定序。

  • 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 ----------------------------- 36 db1=> SELECT '¤' < 'a' col1; col1 ------ t db1=> 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 文件中的定序支援