使用 PostgreSQL 資料庫做為同質資料移轉的目標 AWS DMS - AWS Database Migration Service

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

使用 PostgreSQL 資料庫做為同質資料移轉的目標 AWS DMS

您可以在 AWS DMS中使用 PostgreSQL 資料庫作為同質資料遷移的遷移目標。

AWS DMS 需要特定許可才能將資料遷移到目標 Amazon RDS for PostgreSQL 或 Amazon Aurora PostgreSQL 資料庫。使用以下指令碼在 PostgreSQL 目標資料庫中建立具有所需許可的資料庫使用者。

CREATE USER your_user WITH LOGIN PASSWORD 'your_password'; GRANT USAGE ON SCHEMA schema_name TO your_user; GRANT CONNECT ON DATABASE db_name to your_user; GRANT CREATE ON DATABASE db_name TO your_user; GRANT CREATE ON SCHEMA schema_name TO your_user; GRANT UPDATE, INSERT, SELECT, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA schema_name TO your_user; #For "Full load and change data capture (CDC)" and "Change data capture (CDC)" data migrations, setting up logical replication requires rds_superuser privileges GRANT rds_superuser TO your_user;

在上述範例中,將每個使用者輸入預留位置取代為您自己的資訊。

若要為您的 RDS for PostgreSQL 目標開啟邏輯複寫,請將資料庫參數群組中的 rds.logical_replication 參數設定為 1。此靜態參數需要重新啟動資料庫執行個體或資料庫叢集才會生效。某些參數是靜態的,您只能在伺服器啟動時進行設定。 AWS DMS 會忽略它們在 DB 參數群組中項目的變更,直到您重新啟動伺服器為止。

PostgreSQL 使用觸發條件來實作外部索引鍵限制。在滿載階段,每次 AWS DMS 載入一個表格。建議您在完全載入期間關閉目標資料庫上的外來索引鍵限制。若要這麼做,請使用下列其中一個方法:

  • 暫時關閉執行個體的所有觸發條件,並完成完全載入。

  • 變更 PostgreSQL 中 session_replication_role 參數的值。

    在任何指定的時間,觸發可為下列狀態之一:originreplicaalwaysdisabled。當您將 session_replication_role 參數設定為 replica 時,只有處於 replica 狀態的觸發程序會保持作用中。否則,觸發會保持非作用中。

使用 PostgreSQL 相容資料庫做為同質資料遷移目標的限制

使用 PostgreSQL 相容資料庫作為同質資料遷移的目標時,存在下列限制:

  • 用於連線到資料來源的使用者名稱具有以下限制:

    • 長度可有 2 到 64 個字元。

    • 不能有空格。

    • 可以包含以下字元:a-z、A-Z、0-9 和底線 (_)。

    • 必須以 a-z 或 A-Z 開頭。

  • 您用來連線到資料來源的密碼具有以下限制:

    • 長度可有 1 到 128 個字元。

    • 不能包含下列任何項目:單引號 (')、雙引號 (「)、分號 (;) 或空格。