Daten aus einem Aurora SQL Postgre-DB-Cluster oder RDS für eine SQL Postgre-DB-Instance laden - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Daten aus einem Aurora SQL Postgre-DB-Cluster oder RDS für eine SQL Postgre-DB-Instance laden

Nachdem Sie die Ressourcen- und Authentifizierungseinrichtung abgeschlossen haben, stellen Sie eine Verbindung zum Cluster-Endpunkt her und rufen Sie die rds_aurora.limitless_data_load_start gespeicherte Prozedur von einer unbegrenzten Datenbank aus auf, z. B. postgres_limitless Die Limitless-Datenbank ist eine Datenbank in der DB-Shard-Gruppe, in die Sie Daten migrieren möchten.

Diese Funktion stellt im Hintergrund asynchron eine Verbindung mit der im Befehl angegebenen Quelldatenbank her, liest die Daten aus der Quelle und lädt die Daten auf die Shards. Für eine bessere Leistung werden die Daten mithilfe parallel Threads geladen. Die Funktion ruft einen point-in-time Tabellen-Snapshot ab, indem sie einen SELECT Befehl ausführt, um die Daten der im Befehl angegebenen Tabelle (n) zu lesen.

Sie können Daten in Sharded-, Referenz- und Standardtabellen laden.

Sie können Daten in rds_aurora.limitless_data_load_start Aufrufen auf Datenbank-, Schema- oder Tabellenebene laden.

  • Datenbank — Sie können bei jedem Aufruf jeweils eine Datenbank laden, ohne dass das Schema oder die Anzahl der Tabellen in der Datenbank begrenzt ist.

  • Schema — Sie können bei jedem Aufruf maximal 15 Schemas laden, ohne dass die Anzahl der Tabellen innerhalb jedes Schemas begrenzt ist.

  • Tabelle — Sie können bei jedem Aufruf maximal 15 Tabellen laden.

Anmerkung

Diese Funktion verwendet keine RDS Amazon-Snapshots oder die point-in-time Isolierung der Datenbank. Aus Gründen der tabellenübergreifenden Konsistenz empfehlen wir, die Quelldatenbank zu klonen und auf diese geklonte Datenbank als Quelle zu verweisen.

Die gespeicherte Prozedur verwendet die folgende Syntax:

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

Die Eingabeparameter sind die folgenden:

  • source_type— Der Quelltyp: aurora_postgresql oder rds_postgresql

  • source_DB_cluster_or_instance_ID— Der SQL Quell-Aurora-Postgre-DB-Cluster-Identifier oder RDS der SQL Postgre-DB-Instance-Identifier

  • source_database_name— Der Name der Quelldatenbank, z. B. postgres

  • streaming_mode— Ob die Erfassung von Änderungsdaten (CDC) eingeschlossen werden soll: full_load oder full_load_and_cdc

  • data_loading_IAM_role_arn— Die IAM Rolle Amazon Resource Name (ARN) für aurora-data-loader

  • source_DB_secret_arn— Das geheime Quell-DB-Geheimnis ARN

  • destination_DB_secret_arn— Das geheime Geheimnis der Ziel-DB ARN

  • ignore_primary_key_conflict_boolean_flag— Ob fortgefahren werden soll, wenn ein Primärschlüsselkonflikt auftritt:

    • Wenn auf gesetzttrue, ignoriert das Laden von Daten neue Änderungen für Zeilen mit einem Primärschlüsselkonflikt.

    • Wenn auf gesetztfalse, überschreibt das Laden von Daten die vorhandenen Zeilen in Zieltabellen, wenn ein Primärschlüsselkonflikt auftritt.

  • is_dry_run— Ob getestet werden soll, ob der Datenladejob eine Verbindung zu den Quell- und Zieldatenbanken herstellen kann:

    • Wenn auf gesetzttrue, werden die Verbindungen getestet, ohne Daten zu laden

    • Wenn auf gesetztfalse, werden die Daten geladen

  • (optional) schemas oder tables — Ein Array von Schemas oder Tabellen, die geladen werden sollen. Sie können einen der folgenden Werte angeben:

    • Eine Liste von Tabellen im Format tables => ARRAY['schema1.table1', 'schema1.table2', 'schema2.table1', ...]

    • Eine Liste von Schemas im Format schemas => ARRAY['schema1', 'schema2', ...]

    Wenn Sie diesen Parameter nicht angeben, wird die gesamte angegebene Quelldatenbank migriert.

Der Ausgabeparameter ist die Job-ID mit einer Meldung.

Das folgende Beispiel zeigt, wie die rds_aurora.limitless_data_load_start gespeicherte Prozedur verwendet wird, um Daten aus einem Aurora SQL Postgre-DB-Cluster zu laden.

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.