Caricamento dei dati da un cluster di database Aurora PostgreSQL o da un’istanza database RDS per PostgreSQL - 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 dei dati da un cluster di database Aurora PostgreSQL o da un’istanza database RDS per PostgreSQL

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.