在 中使用 PostgreSQL 資料庫做為同質資料遷移的目標 AWS DMS - AWS 資料庫遷移服務

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

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

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

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;

在上述範例中,將每個 取代user input placeholder為您自己的資訊。

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

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

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

  • 在 Postgre 中變更 session_replication_role 參數的值SQL。

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

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

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

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

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

    • 不能有空格。

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

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

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

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

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