從 Aurora PostgreSQL 資料庫叢集或 RDS PostgreSQL 資料庫執行個體載入資料 - Amazon Aurora

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

從 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_postgresqlrds_postgresql

  • source_DB_cluster_or_instance_ID – 來源 Aurora PostgreSQL 資料庫叢集識別符或 RDS PostgreSQL 資料庫執行個體識別符

  • source_database_name – 來源資料庫名稱,例如 postgres

  • streaming_mode – 是否要包含變更資料擷取 (CDC): full_loadfull_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, 會載入資料

  • (選用) schemastables – 要載入的結構描述或資料表陣列。您可以指定下列任一項:

    • 格式的資料表清單 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.