本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 SCHEMAschema_name
TOyour_user
; GRANT CONNECT ON DATABASEdb_name
toyour_user
; GRANT CREATE ON DATABASEdb_name
TOyour_user
; GRANT CREATE ON SCHEMAschema_name
TOyour_user
; GRANT UPDATE, INSERT, SELECT, DELETE, TRUNCATE ON ALL TABLES IN SCHEMAschema_name
TOyour_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 TOyour_user
;
在上述範例中,將每個使用者輸入預留位置
取代為您自己的資訊。
若要為您的 RDS for PostgreSQL 目標開啟邏輯複寫,請將資料庫參數群組中的 rds.logical_replication
參數設定為 1。此靜態參數需要重新啟動資料庫執行個體或資料庫叢集才會生效。某些參數是靜態的,您只能在伺服器啟動時進行設定。 AWS DMS 會忽略它們在 DB 參數群組中項目的變更,直到您重新啟動伺服器為止。
PostgreSQL 使用觸發條件來實作外部索引鍵限制。在滿載階段,每次 AWS DMS 載入一個表格。建議您在完全載入期間關閉目標資料庫上的外來索引鍵限制。若要這麼做,請使用下列其中一個方法:
暫時關閉執行個體的所有觸發條件,並完成完全載入。
變更 PostgreSQL 中
session_replication_role
參數的值。在任何指定的時間,觸發可為下列狀態之一:
origin
、replica
、always
或disabled
。當您將session_replication_role
參數設定為replica
時,只有處於replica
狀態的觸發程序會保持作用中。否則,觸發會保持非作用中。
使用 PostgreSQL 相容資料庫做為同質資料遷移目標的限制
使用 PostgreSQL 相容資料庫作為同質資料遷移的目標時,存在下列限制:
用於連線到資料來源的使用者名稱具有以下限制:
長度可有 2 到 64 個字元。
不能有空格。
可以包含以下字元:a-z、A-Z、0-9 和底線 (_)。
必須以 a-z 或 A-Z 開頭。
您用來連線到資料來源的密碼具有以下限制:
長度可有 1 到 128 個字元。
不能包含下列任何項目:單引號 (')、雙引號 (「)、分號 (;) 或空格。