使用 Postgre 數據SQL庫作為同質數據遷移的源 AWS DMS - AWS Database Migration Service

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

使用 Postgre 數據SQL庫作為同質數據遷移的源 AWS DMS

您可以使用 Postgre SQL 資料庫作為同質資料遷移中 AWS DMS的來源。在這種情況下,您的來源資料提供者可以是現場部署EC2、Amazon 或 Postgre RDS 資料SQL庫。

若要執行同質資料移轉,請為您在 Postgre SQL 來源資料庫中指定的資料庫使用者授與超級使 AWS DMS 用者權限。資料庫使用者必須具有超級使用者許可,才能存取來源中的複寫特定功能。若要進行完全載入的資料遷移,您的資料庫使用者需要有資料表的 SELECT 許可才能遷移資料。

使用下列指令碼建立具有 Postgre SQL 來源資料庫所需權限的資料庫使用者。針對您移轉目標的所有資料庫執行GRANT查詢 AWS。

CREATE USER your_user WITH LOGIN PASSWORD 'your_password'; ALTER USER your_user WITH SUPERUSER; GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO your_user;

在前面的例子中,替換每個 user input placeholder 使用您自己的信息。

AWS DMS 支CDC持帶有主鍵的 Postgre SQL 表。如果表沒有主鍵,則預寫日誌(WAL)不包括數據庫行的前圖像。您可以在此使用其他組態設定,並使用資料表複本身分識別作為因應措施。但是,這種方法可能會產生額外的日誌。我們建議您僅在仔細測試之後,才使用資料表複本身分識別作為因應措施。如需詳細資訊,請參閱使用 PostgreSQL 資料庫作為 DMS 來源時的其他組態設定

下列各節說明自我管理和 AWS管理 Post SQL gre 資料庫的特定組態先決條件。

使用自我管理的 Postgre SQL 資料庫做為同質資料移轉的來源 AWS DMS

本節說明如何設定在現場部署或 Amazon EC2 執行個體上託管的 Postgre SQL 資料庫。

檢查源SQL數據庫的版本。請確定 AWS DMS 支援您的來源 Postgre SQL 資料庫版本,如中DMS同質資料移轉的來源所述。

同質資料移轉支援使用邏輯複寫的變更資料擷取 (CDC)。若要在自我管理 Postgre SQL 來源資料庫上開啟邏輯複寫,請在postgresql.conf組態檔中設定下列參數和值:

  • wal_level 設定為 logical

  • max_replication_slots 設為大於 1 的值。

    max_replication_slots 值設定為您想要執行的任務數量。例如,若要執行 5 項任務,則需要設定至少 5 個插槽。只要任務啟動並保持開啟,插槽立即自動開啟,即使任務不再執行。請務必手動刪除開啟的插槽。

  • max_wal_senders 設為大於 1 的值。

    max_wal_senders 參數設定可以同時執行的任務數量。

  • wal_sender_timeout 參數會將失效超過指定毫秒數的複寫連線結束。預設為 60000 毫秒 (60 秒)。將值設定為 0 (零) 會停用逾時機制,且是的有效設定DMS。

某些參數是靜態值,您只能在伺服器啟動時進行設定。在重新啟動伺服器之前,對於組態檔案項目所做的任何變更都會忽略。如需詳細資訊,請參閱 Postgre SQL 文件

使用受 AWS管理的 Postgre SQL 資料庫做為同質資料移轉的來源 AWS DMS

本節說明如何RDS為 Postgre SQL 資料庫執行個體設定您的 Amazon。

使用 Postgre 資料SQL庫執行個體的 AWS 主要使用者帳戶作為 Postgre SQL 來源資料提供者的使用者帳戶,以進行同質資料移轉。 AWS DMS主要使用者帳戶具有允許其設定的必要角色CDC。如果您使用主要使用者帳戶以外的帳戶,則此帳戶必須有 rds_superuser 角色和 rds_replication 角色。授權來管理邏輯槽和利用邏輯槽來串流資料的 rds_replication 角色

使用下列程式碼範例授與 rds_superuserrds_replication 角色。

GRANT rds_superuser to your_user; GRANT rds_replication to your_user;

在上述範例中,取代 your_user 使用您的數據庫用戶的名稱。

若要開啟邏輯複寫,請將資料庫參數群組中的 rds.logical_replication 參數設定為 1。此靜態參數需要重新啟動資料庫執行個體才會生效。

使用 Postgre SQL 相容資料庫作為同質資料移轉來源的限制

使用 Postgre SQL 相容資料庫作為同質資料移轉的來源時,會套用下列限制:

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

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

    • 不能有空格。

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

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

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

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

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