Caricamento di dati da un cluster Aurora Postgre SQL DB o RDS per un'istanza di Postgre DB SQL - Amazon Aurora

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 di dati da un cluster Aurora Postgre SQL DB o RDS per un'istanza di Postgre DB SQL

Dopo aver completato la configurazione delle risorse e dell'autenticazione, connettiti all'endpoint del cluster e richiama la rds_aurora.limitless_data_load_start stored procedure da un database illimitato, ad esempio. postgres_limitless Il database illimitato è un database del gruppo di shard DB 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 un'istantanea della point-in-time tabella eseguendo un SELECT comando per leggere i dati delle tabelle fornite nel comando.

È possibile caricare i dati in tabelle frammentate, di riferimento e standard.

È possibile caricare dati a livello di database, schema o tabella nelle rds_aurora.limitless_data_load_start chiamate.

  • Database: è possibile caricare un database alla volta in ogni chiamata, senza limiti allo schema o al numero di tabelle all'interno del database.

  • Schema: è possibile caricare un massimo di 15 schemi in ogni chiamata, senza limiti al numero di tabelle all'interno di ogni schema.

  • Tabella: è possibile caricare un massimo di 15 tabelle in ogni chiamata.

Nota

Questa funzionalità non utilizza le RDS istantanee di Amazon o point-in-time l'isolamento del database. Per garantire la coerenza tra le tabelle, consigliamo di clonare il database di origine e di 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 fonte: aurora_postgresql o rds_postgresql

  • source_DB_cluster_or_instance_ID— L'identificatore del cluster Aurora Postgre SQL DB di origine o RDS per l'identificatore di istanza Postgre DB SQL

  • source_database_name— Il nome del database di origine, ad esempio postgres

  • streaming_mode— Se includere l'acquisizione dei dati di modifica (CDC): full_load o full_load_and_cdc

  • data_loading_IAM_role_arn— Il IAM ruolo di Amazon Resource Name (ARN) per aurora-data-loader

  • source_DB_secret_arn— Il segreto del database di origine ARN

  • destination_DB_secret_arn— Il segreto del DB di destinazione ARN

  • ignore_primary_key_conflict_boolean_flag— Se continuare se si verifica un conflitto tra le chiavi primarie:

    • Se impostato sutrue, il caricamento dei dati ignora le nuove modifiche per le righe con un conflitto di chiave primaria.

    • Se impostato sufalse, il caricamento dei dati sovrascrive le righe esistenti nelle tabelle di destinazione quando si verifica un conflitto di chiavi primarie.

  • is_dry_run— Se verificare che il processo di caricamento dei dati possa connettersi ai database di origine e di destinazione:

    • Se impostato sutrue, verifica le connessioni senza caricare dati

    • Se impostato sufalse, carica i dati

  • (opzionale) schemas o tables — Una matrice 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 si include questo parametro, viene migrato l'intero database di origine specificato.

Il parametro di output è l'ID del lavoro con un messaggio.

L'esempio seguente mostra come utilizzare la rds_aurora.limitless_data_load_start stored procedure per caricare dati da un cluster Aurora SQL Postgre DB.

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.