本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 Aurora PostgreSQL 資料庫叢集或 RDS PostgreSQL 資料庫執行個體載入資料
完成資源和身分驗證設定後,請連線至叢集端點,並從無限資料庫呼叫rds_aurora.limitless_data_load_start預存程序,例如 postgres_limitless。無限制資料庫是資料庫碎片群組上的資料庫,您要將資料遷移至其中。
此函數會在背景以非同步方式連接至 命令中指定的來源資料庫,從來源讀取資料,並將資料載入碎片。為了提升效能,會使用平行執行緒載入資料。函數會執行 SELECT命令來讀取 命令中提供的資料表資料,以擷取 point-in-time資料表快照 (資料表快照)。
您可以將資料載入碎片、參考和標準資料表。
您可以在 rds_aurora.limitless_data_load_start呼叫中載入資料庫、結構描述或資料表層級的資料。
-
資料庫 – 您可以在每次呼叫中一次載入一個資料庫,資料庫中的結構描述或資料表計數沒有限制。
-
結構描述 – 每個呼叫最多可載入 15 個結構描述,每個結構描述中的資料表計數沒有限制。
-
資料表 – 每個呼叫中最多可以載入 15 個資料表。
注意
此功能不使用 Amazon RDS快照或 point-in-time資料庫隔離。為了確保資料表之間的一致性,我們建議複製來源資料庫,並指向複製的資料庫做為來源。
預存程序使用以下語法:
CALL rds_aurora.limitless_data_load_start('source_type', 'source_DB_cluster_or_instance_ID', 'source_database_name', 'streaming_mode', 'data_loading_IAM_role_arn', 'source_DB_secret_arn', 'destination_DB_secret_arn', 'ignore_primary_key_conflict_boolean_flag', 'is_dry_run', (optional parameter) schemas/tables => ARRAY['name1', 'name2', ...]);
輸入參數如下:
-
source_type– 來源類型:aurora_postgresql或rds_postgresql -
source_DB_cluster_or_instance_ID– 來源 Aurora PostgreSQL 資料庫叢集識別符或 RDS PostgreSQL 資料庫執行個體識別符 -
source_database_name– 來源資料庫名稱,例如postgres -
streaming_mode– 是否要包含變更資料擷取 (CDC):full_load或full_load_and_cdc -
data_loading_IAM_role_arn– 的 Amazon Resource Name (ARN) IAM角色aurora-data-loader -
source_DB_secret_arn– 來源資料庫秘密 ARN -
destination_DB_secret_arn– 目的地資料庫秘密 ARN -
ignore_primary_key_conflict_boolean_flag– 如果發生主要金鑰衝突,是否繼續:-
如果設定為
true,資料載入會忽略具有主索引鍵衝突的資料列的新變更。 -
如果設定為
false,當資料載入遇到主要金鑰衝突時,會覆寫目的地資料表上的現有資料列。
-
-
is_dry_run– 是否要測試資料載入任務是否可以連線至來源和目的地資料庫:-
如果設定為
true, 會測試連線而不載入資料 -
如果設定為
false, 會載入資料
-
-
(選用)
schemas或tables– 要載入的結構描述或資料表陣列。您可以指定下列任一項:-
格式的資料表清單
tables => ARRAY['schema1.table1', 'schema1.table2', 'schema2.table1', ...] -
格式的結構描述清單
schemas => ARRAY['schema1', 'schema2', ...]
如果您不包含此參數,則會遷移整個指定的來源資料庫。
-
輸出參數是具有訊息的任務 ID。
下列範例示範如何使用rds_aurora.limitless_data_load_start預存程序從 Aurora PostgreSQL 資料庫叢集載入資料。
CALL rds_aurora.limitless_data_load_start('aurora_postgresql', 'my-db-cluster', 'postgres', 'full_load_and_cdc', 'arn:aws:iam::123456789012:role/aurora-data-loader-8f2c66', 'arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-source-8f2c66-EWrr0V', 'arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-destination-8f2c66-d04fbD', 'true', 'false', tables => ARRAY['public.customer', 'public.order', 'public.orderdetails']); INFO: limitless data load job id 1688761223647 is starting.