

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

# 載入來自 Aurora PostgreSQL 資料庫叢集或 RDS for PostgreSQL 資料庫執行個體的資料
<a name="limitless-load.data"></a>

完成資源和身分驗證設定後，請連線至叢集端點，然後從無限資料庫 (例如 `postgres_limitless`) 呼叫 `rds_aurora.limitless_data_load_start` 預存程序。無限資料庫是您要將資料遷移至其中的資料庫碎片群組上的資料庫。

此函數會在背景以非同步方式連線至命令中指定的來源資料庫、從來源讀取資料，以及將資料載入碎片。為了獲得更好的效能，系統會使用平行執行緒載入資料。函數會執行 `SELECT` 命令來讀取命令中提供之資料表的資料，以擷取時間點資料表快照。

您可以將資料載入碎片、參考和標準資料表。

您可以在 `rds_aurora.limitless_data_load_start` 呼叫中載入資料庫、結構描述或資料表層級的資料。
+ 資料庫：您可以在每次呼叫中一次載入一個資料庫，資料庫中的結構描述或資料表計數沒有限制。
+ 結構描述：每個呼叫最多可以載入 15 個結構描述，每個結構描述中的資料表計數沒有限制。
+ 資料表：每個呼叫中最多可以載入 15 個資料表。

**注意**  
此功能不使用 Amazon RDS 快照或資料庫的時間點隔離。為了確保資料表之間的一致性，我們建議複製來源資料庫，然後指向複製的資料庫作為來源。

預存程序會使用以下語法：

```
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 for PostgreSQL 資料庫執行個體識別符
+ `source_database_name`：來源資料庫名稱，例如 *postgres*
+ `streaming_mode`：是否包含變更資料擷取 (CDC)：`full_load` 或 `full_load_and_cdc`
+ `data_loading_IAM_role_arn`：適用於 `aurora-data-loader` 的 IAM 角色 Amazon Resource Name (ARN)
+ `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.
```