Übersicht
Der Database Migration Service unterstützt kontinuierliche Migrationen von Quelldatenbanken zu Cloud SQL-Zieldatenbanken.
Zu den unterstützten Zieldatenbanken für Cloud SQL for PostgreSQL gehören folgende Versionen:
- Cloud SQL for PostgreSQL 12, 13, 14, 15
Cloud SQL for PostgreSQL-Zieldatenbank konfigurieren
Bevor Sie Database Migration Service zum Migrieren von Daten in Ihre Zieldatenbank verwenden können, müssen Sie für die Datenbank folgende Konfigurationsschritte ausführen:
- Instanz erstellen Wir empfehlen einen Maschinentyp mit mindestens einer Dual-Core-CPU. Wenn Ihr Maschinenname beispielsweise
db-custom
lautet und Ihre Maschine 2 CPUs und 3.840 MB RAM hat, lautet das Format für den Maschinentypnamendb-custom-2-3840
. - Wenn Sie über eine öffentliche IP-Adresse eine Verbindung zur Zielinstanz herstellen, verwendet Database Migration Service den Cloud SQL-Auth-Proxy, um eine Verbindung zur Instanz herzustellen. Hierfür ist Folgendes erforderlich:
- Die Instanz muss eine öffentliche IPv4-Adresse haben.
- Die öffentliche IP-Adresse muss nicht für externe Adressen zugänglich sein (sie muss also nicht als autorisierte Netzwerkadresse hinzugefügt werden).
- Wenn Sie die Verbindung zur Zielinstanz über eine private IP-Adresse herstellen, verwendet Database Migration Service Private Service Connect zur Verbindungsherstellung. Weitere Informationen finden Sie unter Private Service Connect für eine Zielinstanz konfigurieren.
Erstellen Sie ein Nutzerkonto und eine Datenbank mit demselben Namen in der Instanz. Wenn Sie beispielsweise Database Migration Service verwenden, um Daten in die Datenbank
myapp
zu migrieren, sollte der Name des Nutzerkontos ebenfallsmyapp
lauten.- Legen Sie die folgenden Berechtigungen für den Nutzer in der Datenbank fest:
CREATE SCHEMA
CREATE TABLE
CREATE DATABASE
SELECT
INSERT
UPDATE
DELETE
TRUNCATE
(für alle Tabellen)
- (Für Datenbanken mit Fremdschlüsseln oder Triggern)
Verwenden Sie die Option
REPLICATION
mit Ihrem Nutzerkonto für die Migration, um Fremdschlüssel und Trigger zu überspringen. Führen Sie dazu diesen Befehl aus: Weitere Informationen zur Migration von Fremdschlüsseln und Triggern finden Sie unter Überlegungen zu Fremdschlüsseln und Triggern.ALTER USER MIGRATION_USER_NAME WITH replication;
Überlegungen zu Fremdschlüsseln und Triggern
Fremdschlüssel und Trigger in Ihrer Quelldatenbank können zu Problemen mit der Datenintegrität führen oder sogar dazu, dass der Migrationsjob fehlschlägt.
Sie können diese Probleme vermeiden, indem Sie Fremdschlüssel und Trigger mit der Option REPLICATION
für den Migrationsnutzer überspringen. Alternativ können Sie auch alle Fremdschlüssel und Trigger in der Zieldatenbank löschen und sie nach Abschluss der Migration neu erstellen.
- Trigger
- Daten, die vom Database Migration Service repliziert werden, enthalten bereits alle Änderungen, die durch Trigger in der Quelldatenbank vorgenommen wurden. Wenn Trigger für das Ziel aktiviert sind, können sie noch einmal ausgelöst und Daten möglicherweise manipuliert werden, was zu Problemen mit der Datenintegrität oder Datenduplizierung führen kann.
- Fremdschlüssel
- Database Migration Service repliziert Daten nicht transaktional. Daher werden Tabellen möglicherweise nicht in der richtigen Reihenfolge migriert. Wenn Fremdschlüssel vorhanden sind und eine untergeordnete Tabelle, die einen Fremdschlüssel verwendet, vor ihrer übergeordneten Tabelle migriert wird, können Replikationsfehler auftreten.