

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Caricamento dei dati da un cluster di database Aurora PostgreSQL o da un’istanza database RDS per PostgreSQL
<a name="limitless-load.data"></a>

Dopo aver completato la configurazione delle risorse e dell’autenticazione, connettiti all’endpoint del cluster e chiama la stored procedure `rds_aurora.limitless_data_load_start` da Limitless Database, ad esempio `postgres_limitless`. Limitless Database è un database nel gruppo di shard del database in cui desideri migrare i dati.

Questa funzione si connette in modo asincrono in background al database di origine specificato nel comando, legge i dati dall’origine e li carica sugli shard. Per prestazioni migliori, i dati vengono caricati utilizzando thread paralleli. La funzione recupera uno snapshot della tabella point-in-time eseguendo un comando `SELECT` per leggere i dati delle tabelle fornite nel comando.

Puoi caricare in tabelle sottoposte a sharding, di riferimento e standard.

Puoi caricare dati a livello di database, schema o tabella nelle chiamate `rds_aurora.limitless_data_load_start`.
+ Database: puoi caricare un database alla volta in ogni chiamata, senza alcun limite per il numero di schemi o tabelle all’interno del database.
+ Schema: puoi caricare un massimo di 15 schemi in ogni chiamata, senza limite per il numero di tabelle in ogni schema.
+ Tabella: puoi caricare un massimo di 15 tabelle in ogni chiamata.

**Nota**  
Questa funzionalità non utilizza snapshot Amazon RDS né l’isolamento point-in-time del database. Per garantire la coerenza tra le tabelle, consigliamo di clonare il database di origine e utilizzare il database clonato come origine.

La stored procedure utilizza la seguente sintassi.

```
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', ...]);
```

I parametri di input sono i seguenti:
+ `source_type`: il tipo di origine: `aurora_postgresql` o `rds_postgresql`
+ `source_DB_cluster_or_instance_ID`: l’identificatore del cluster di database Aurora PostgreSQL di origine o dell’istanza database RDS per PostgreSQL di origine
+ `source_database_name`: il nome del database di origine, ad esempio *postgres*
+ `streaming_mode`: indica se includere l’acquisizione dei dati di modifica (CDC): `full_load` o `full_load_and_cdc`
+ `data_loading_IAM_role_arn`: il nome della risorsa Amazon (ARN) del ruolo IAM per `aurora-data-loader`
+ `source_DB_secret_arn`: l’ARN segreto del database di origine
+ `destination_DB_secret_arn`: l’ARN segreto del database di destinazione
+ `ignore_primary_key_conflict_boolean_flag`: indica se continuare in caso di conflitto di chiave primaria:
  + Se impostato su `true`, il caricamento dei dati ignora le nuove modifiche per le righe con conflitto di chiave primaria.
  + Se impostato su `false`, il caricamento dei dati sovrascrive le righe esistenti nelle tabelle di destinazione quando si verifica un conflitto di chiave primaria.
+ `is_dry_run`: indica se verificare che il processo di caricamento dei dati possa connettersi ai database di origine e di destinazione:
  + Se impostato su `true`, verifica le connessioni senza caricare dati
  + Se impostato su `false`, carica i dati
+ (Facoltativo) `schemas` o `tables`: un array di schemi o tabelle da caricare. Puoi specificare uno dei seguenti:
  + Un elenco di tabelle nel formato `tables => ARRAY['schema1.table1', 'schema1.table2', 'schema2.table1', ...]`
  + Un elenco di schemi nel formato `schemas => ARRAY['schema1', 'schema2', ...]`

  Se non includi questo parametro, l’intero database di origine specificato viene migrato.

Il parametro di output è l’ID di processo con un messaggio.

L’esempio seguente mostra come utilizzare la stored procedure `rds_aurora.limitless_data_load_start` per caricare i dati da un cluster di database 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.
```