Migration – Übersicht

Wenn Sie Datenbanken in AlloyDB for PostgreSQL verschieben oder daraus exportieren möchten, können Sie aktive PostgreSQL-Instanzen mit minimaler Ausfallzeit mithilfe von Database Migration Service migrieren oder in Cloud Storage gespeicherte CSV-, DMP- und SQL-Dateien importieren und exportieren.

Daten werden importiert

Sie können Daten auf zwei Arten zu AlloyDB migrieren:

Archivierte Daten aus Dateien importieren

Mit AlloyDB können Sie Daten aus Dateien in einem Cloud Storage-Bucket importieren. AlloyDB unterstützt eine Vielzahl von Dateiformaten für den Datenimport, darunter:

  • CSV mit dem Inhalt einer Tabelle pro Datei, geladen mit psql.

  • DMP, ein binäres Archiv einer gesamten PostgreSQL-Datenbank, das mit pg_restore importiert wurde.

  • SQL, eine Nur-Text-Rekonstruktion einer PostgreSQL-Datenbank, die mit psql verarbeitet wird.

Aktive Instanz mit Database Migration Service migrieren

Als Alternative zum manuellen Importieren von Dumpdateien können Sie den Database Migration Service für AlloyDB verwenden. Mit diesem Dienst können Sie den gesamten Inhalt einer aktiven PostgreSQL-Instanz, einschließlich aller Datenbanken und Metadaten, in einen neuen AlloyDB-Cluster migrieren. Mit dem Database Migration Service können Sie Ihre vorhandenen Anwendungen mit minimaler Ausfallzeit auf AlloyDB als neuen Datenspeicher umstellen.

Unterstützte Sprachen für importierte Daten

AlloyDB unterstützt die folgenden Locales:

  • Der vollständige Satz von ICU-bereitgestellten Sprachen.
  • Eine begrenzte Anzahl von Sprachen, die von libc bereitgestellt werden:
    • C.UTF-8
    • en_US.utf8

Wenn die Datenbank, die Sie in AlloyDB importieren möchten, standardmäßig eine andere libc-Locale als die beiden hier aufgeführten verwendet, können Sie Ihre Daten trotzdem importieren. Dieser Standardwert wird jedoch nicht übernommen. Damit SQL-Abfragen mit ORDER BY ihre Ergebnisse richtig sortieren, müssen Sie nach dem Importieren der Daten möglicherweise zusätzliche Schritte ausführen.

Google empfiehlt, für Ihre neue Datenbank die Standard-Locale für AlloyDB zu verwenden: C.UTF-8, bereitgestellt von libc. Verknüpfen Sie dann Sortierungen mit allen Spalten, die in den Abfragen Ihrer Anwendung in ORDER BY-Klauseln enthalten sein könnten, und geben Sie für jede eine entsprechende ICU-basierte Sortierung an. Dazu können Sie ALTER TABLE-DDL-Abfragen wie die folgenden verwenden:

ALTER TABLE TABLE_NAME
    ALTER COLUMN COLUMN_NAME
    SET DATA TYPE COLUMN_DATA_TYPE
    COLLATE "COLLATION_NAME";

Ersetzen Sie Folgendes:

  • TABLE_NAME: der Name der Tabelle, die die Spalte enthält.
  • COLUMN_NAME: der Name der zu aktualisierenden Spalte.
  • COLUMN_DATA_TYPE: der Datentyp der Spalte.
  • COLLATION_NAME: der Name der anzuwendenden ICU-basierten Sortierung.

In einem neuen AlloyDB-Cluster werden Hunderte von Sortierungen basierend auf von ICU bereitgestellten Sprachen definiert. Sie können weitere Sortierungen mit der PostgreSQL-Funktion CREATE COLLATION hinzufügen. Führen Sie die folgende Abfrage auf einer beliebigen Instanz aus, um die vollständige Liste der ICU-basierten Sortiernamen aufzurufen, die in einem AlloyDB-Cluster definiert sind:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

Zusätzlich zu ICU-basierten Sortierungen unterstützt AlloyDB die integrierte PostgreSQL-Sortierung mit dem Namen ucs_basic. Diese Sortierung verwendet die Standardreihenfolge der Unicode-Codepunkte, um eine besonders effiziente Sortierung zu ermöglichen. Google empfiehlt die Verwendung mit Spalten, deren Sortierreihenfolge der Unicode-Codepunktliste entspricht.

Daten exportieren

Sie können Befehlszeilen-Dienstprogramme verwenden, um Ihre AlloyDB-Daten in Dateien zu exportieren, die in einem Cloud Storage-Bucket in verschiedenen Formaten gespeichert sind:

  • CSV, wobei eine Tabelle pro Datei mit psql exportiert wird.

  • DMP, wobei pg_dump verwendet wird, um ein portables, binäres Archiv Ihrer gesamten Datenbank zu erstellen.

  • SQL, wobei pg_dump verwendet wird, um eine Liste von DDL- und SQL-Anweisungen zum Rekonstruieren Ihrer Datenbank zu erstellen.

Nächste Schritte