本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 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.