Bekannte Fehler im Migrationsdienst für Azure Database for PostgreSQL – Flexible Server

Dieser Artikel enthält Fehlermeldungsnummern und deren Beschreibung für die Überprüfung vor der Migration.

Die folgenden Tabellen enthalten eine umfassende Liste der Fehlercodes für das Migrationsdienstfeature in Azure Database for PostgreSQL. Diese Fehlercodes helfen Ihnen bei der Behandlung und Behebung von Problemen während des Migrationsprozesses. Jeder Fehlercode verfügt über eine Fehlermeldung und andere Details, die weitere Kontext und Anleitungen zum Beheben des Problems bereitstellen.

Zeitüberschreitungen bei Verbindungen

Symptome

Migrationsfehler manifestieren sich häufig über Fehlermeldungen, die auf Konnektivitätsprobleme hinweisen. Diese Probleme können während des Datenübertragungsprozesses auftreten. Wenn solche Fehler auftreten, führen sie zu den folgenden Fehlermeldungen:

  • Der Server hat die Verbindung unerwartet geschlossen.
  • SSL SYSCALL-Fehler: EOF erkannt
  • unerwartete EOF bei Clientverbindung
  • Daten vom Client konnten nicht empfangen werden: Verbindungszurücksetzung durch Peer

Ursache

Die zugrunde liegende Ursache für diese Symptome ist eine connection timeout. Dies tritt in der Regel auf, wenn der Server oder der Client erwartet, Dass Daten innerhalb eines bestimmten Zeitrahmens empfangen werden, aber keine Daten gesendet oder empfangen werden, wodurch die Verbindung zum Timeout führt. Die spezifischen Gründe für ein Verbindungstimeout können variieren, aber häufige Faktoren sind Netzwerküberlastungen, falsch konfigurierte Netzwerkeinstellungen oder übermäßig aggressive Timeouteinstellungen.

Im Kontext des Migrationsdiensts in Azure-Datenbank für PostgreSQL kann ein Verbindungstimeout zwischen der Quelle und dem Migrationsdienst oder zwischen dem Migrationsdienst und dem Ziel den Datenübertragungsprozess unterbrechen, was zu den oben beschriebenen Symptomen führt.

Lösung

  • Um probleme mit dem Timeout der Verbindung zu beheben, passen Sie die TCP-Parameter auf den Quell- und Zielservern wie folgt an:

    • tcp_keepalives_idle=10
    • tcp_keepalives_interval=10
    • tcp_keepalives_count=60

Diese Einstellungen tragen dazu bei, die Verbindung aufrechtzuerhalten, indem Keepalive-Probes gesendet werden, um Timeouts aufgrund von Inaktivität zu verhindern. Wichtig ist, dass das Ändern dieser TCP-Parameter keinen Neustart der Quell- oder Ziel-PostgreSQL-Instanzen erfordert. Änderungen können dynamisch angewendet werden, sodass eine nahtlose Fortsetzung des Diensts möglich ist, ohne die Datenbankvorgänge zu unterbrechen.

Verbindung aufgrund einer Leerlaufzeitüberschreitung in einer Transaktion beendet

Symptome

  • Der Migrationsdienst trifft auf eine Verbindungsbeendigungsnachricht.
  • Protokolle zeigen den Fehler an: terminating connection due to idle-in-transaction timeout.

Ursache

Dieser Fehler tritt auf, wenn eine Datenbankverbindung innerhalb einer Transaktion länger im Leerlauf bleibt als der im idle_in_transaction_timeout Parameter angegebene Wert. PostgreSQL beendet solche Verbindungen automatisch, um Ressourcensperrprobleme zu vermeiden.

Lösung

  • Legen Sie den idle_in_transaction_timeout-Parameter auf 0 fest, um den Time-out während des Migrationsprozesses zu deaktivieren.
  • Beispielbefehl zum Anwenden dieser Einstellung:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
  • Stellen Sie sicher, dass dieser Parameter nach der Migration auf seinen ursprünglichen Wert zurückgesetzt wird, um die Datenbankleistung aufrechtzuerhalten und längere Leerlaufverbindungen zu verhindern.

Erschöpfung des gemeinsam genutzten Speichers

Symptome

Der Migrationsprozess wird unerwartet angehalten. Protokolle zeigen den Fehler an: out of shared memory.

Ursache

Dieser Fehler weist darauf hin, dass PostgreSQL den für Sperren zugewiesenen freigegebenen Speicher erschöpft hat. Es tritt in der Regel auf, wenn der Migrationsprozess viele Sperren über die aktuelle Einstellung des max_locks_per_transaction Parameters hinaus umfasst.

Lösung

  • Erhöhen Sie den Wert des max_locks_per_transaction Parameters, um die während des Migrationsprozesses erforderlichen weiteren Sperren zu berücksichtigen.
  • Beispielbefehl zum Ändern dieser Einstellung: ALTER SYSTEM SET max_locks_per_transaction = <<>>;
  • Stellen Sie sicher, dass max_locks_per_transaction * max_connections > Number of tables + Number of indexes
  • Wenn das Problem weiterhin besteht, sollten Sie den shared_buffers Parameter erhöhen, um sicherzustellen, dass genügend gemeinsam genutzter Arbeitsspeicher für die Sperrverwaltung verfügbar ist.

Verwenden von CREATE TYPE

Symptome

Der Migrationsprozess wird unerwartet angehalten. Protokolle zeigen den Fehler an: pg_restore: error: could not execute query: ERROR: must be superuser to create a base type .

Ursache

Um einen neuen Basistyp zu erstellen, müssen Sie ein Superuser sein (diese Einschränkung erfolgt, da eine fehlerhafte Typdefinition den Server verwirren oder sogar abstürzt).

Lösung

  • Benutzerdefinierter Basistyp muss gelöscht und/oder durch einen erkannten Basistyp ersetzt werden.
  • Ausführlichere Informationen finden Sie hier.

Migrationsfehlercodes

Fehlercode Fehlermeldung Lösung
603000 Fehler bei der Verbindung. Die Verbindung mit dem Server {serverName} war nicht erfolgreich. Stellen Sie sicher, dass der Quellserver vom Ziel- oder Laufzeitserver erreichbar ist. Informationen zum Debuggen von Verbindungsproblemen finden Sie im Netzwerkhandbuch .
603001 SSL-Konfigurationsfehler. Der Server {serverName} unterstützt ssl nicht. Überprüfen Sie SSL-Einstellungen. Legen Sie den SSL-Modus auf prefer fest und versuchen Sie die Migration erneut. Informationen zum Debuggen von Verbindungsproblemen finden Sie im Netzwerkhandbuch .
603100 Fehler bei der Authentifizierung: Das Kennwort für den Server {serverName} ist falsch. Geben Sie das richtige Kennwort ein, und wiederholen Sie die Migration. –
603101 Die Datenbank ist im Zielsystem bereits vorhanden. Die Datenbank {dbName} ist auf dem Zielserver vorhanden. Stellen Sie sicher, dass der Zielserver nicht über die Datenbank verfügt, und wiederholen Sie die Migration. –
603102 Quelldatenbank fehlt. Die Datenbank {dbName} ist auf dem Quellserver nicht vorhanden. Geben Sie eine gültige Datenbank an, und wiederholen Sie die Migration. –
603103 Fehlende Microsoft Entra-Rolle. Die Microsoft Entra-Rolle {roleNames} fehlt auf dem Zielserver. Erstellen Sie die Entra-Rolle, und wiederholen Sie die Migration. –
603104 Fehlende Replikationsrolle. Der Benutzer {0} verfügt nicht über die Replikationsrolle auf dem Server {1}. Erteilen Sie die Replikationsrolle, bevor Sie die Migration erneut versuchen. Verwenden Sie ALTER ROLE <rolename> WITH REPLICATION;, um die erforderliche Berechtigung zu erteilen.
603105 GUC-Einstellungsfehler. Unzureichende Replikationsplätze auf dem Quellserver für die Migration. Erhöhen Sie den max_replication_slots GUC-Parameter auf {0} oder höher. Der Quellserver verfügt nicht über ausreichende Replikationsplätze, um die Onlinemigration durchzuführen. Verwenden Sie diese Abfrage SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical';, um die Liste der inaktiven Replikations-Slots abzurufen und sie mit SELECT pg_drop_replication_slot('slot_name'); zu löschen, bevor die Migration gestartet wird. Alternativ können Sie den Parameter "max_replication_slots" auf {0} oder höher festlegen. Stellen Sie sicher, dass der max_wal_senders-Parameter ebenfalls so geändert wird, dass er größer oder gleich max_replication_slots' parameter ist.
603106 GUC-Einstellungsfehler. Der max_wal_senders GUC-Parameter ist auf {0} gesetzt. Stellen Sie sicher, dass sie mit dem Wert "max_replication_slots" übereinstimmt oder überschreitet. –
603107 GUC-Einstellungsfehler. Der WAL-Level-Parameter des Quellservers ist auf {0} festgelegt. Setzen Sie den GUC-Parameter WAL-Level auf „logical“. –
603108 Eine Liste der zulässigen Erweiterungen ist erforderlich. Erweiterungen {0} konnten nicht auf dem Zielserver installiert werden, da sie nicht zugelassen sind. Fügen Sie die Erweiterungen zur Zulassungsliste hinzu und versuchen Sie die Migration erneut. Legen Sie die Zulassungsliste fest, indem Sie die in den PostgreSQL-Erweiterungen genannten Schritte ausführen.
603109 Konfigurationsfehler für freigegebene Vorabladebibliotheken. Fügen Sie zugelassene Erweiterungen {0} zu "shared_preload_libraries" auf dem Zielserver hinzu, und wiederholen Sie die Migration. Legen Sie die freigegebenen Vorabladebibliotheken fest, indem Sie die in den PostgreSQL-Erweiterungen erwähnten Schritte ausführen. Dies erfordert einen Serverneustart.
603110 Unzureichende Berechtigungen. Der Migrationsbenutzer verfügt nicht über erforderliche Berechtigungen für den Datenbankzugriff. Stellen Sie sicher, dass der Migrationsbenutzer Besitzer von Quelldatenbanken ist und über Lese- und Schreibberechtigungen verfügt, und wiederholen Sie die Migration. –
603111 Die Bereinigung der Zieldatenbank ist fehlgeschlagen. Aktive Verbindungen in der Zieldatenbank können während der Vormigrationsphase nicht beendet werden. Weisen Sie dem Migrationsbenutzer die Rolle pg_signal_backend zu und führen Sie die Migration erneut aus. Fügen Sie dem Migrationsbenutzer mithilfe des Befehls „GRANT pg_signal_backend to <migration_user>“ die Rolle „pg_signal_backend“ hinzu.
603112 GUC-Einstellungsfehler. Fehler beim Festlegen des GUC-Parameters default_transaction_read_only auf „off“. Stellen Sie sicher, dass der Benutzerschreibzugriff ordnungsgemäß festgelegt ist, und wiederholen Sie die Migration. Setzen Sie „default_transaction_read_only“ auf dem Quellserver über das Azure-Portal oder mithilfe eines psql-Befehls auf OFF (z. B. ALTER SYSTEM SET default_transaction_read_only = off).
603113 Fehler bei der Umstellung. Die Übernahme kann für die Datenbank '{dbName}' nicht initiiert werden, da die Migration bereits den Status "Abgeschlossen/Fehlgeschlagen/Abgebrochen" aufweist. –
603114 Fehler bei der Umstellung. Die Umschaltung kann für die Datenbank „{dbName}“ im Offlinemigrationsmodus nicht initiiert werden. –
603115 Fehlende Benutzerberechtigungen. Migrationsbenutzer '{0}' ist kein Mitglied der Rolle 'azure_pg_admin'. Fügen Sie erforderliche Berechtigungen auf dem Zielserver hinzu, und wiederholen Sie die Migration. –
603116 Fehlende Benutzerberechtigungen. Der Migrationsbenutzer "{0}" verfügt nicht über die Berechtigung zum Erstellen von Rollen. Fügen Sie erforderliche Berechtigungen auf dem Zielserver hinzu, und wiederholen Sie die Migration. Führen Sie die Abfrage ALTER ROLE <rolename> WITH CREATEROLE; auf dem Zielserver aus.
603117 Fehlende Benutzerberechtigungen. Der Migrationsbenutzer "{0}" verfügt nicht über erforderliche Berechtigungen, um die Datenbank "{dbName}" auf dem Zielserver zu löschen. Legen Sie die Datenbank manuell vom Zielserver ab, und wiederholen Sie die Migration. –
603400 Nicht unterstützte Quellversion. Die Migration von PostgreSQL-Versionen unterhalb von {0} wird nicht unterstützt. Sie müssen eine andere Migrationsmethode verwenden.
603401 Die Sortierreihenfolge stimmt nicht überein. Die Sortierung {0} in der Datenbank {1} ist auf dem Zielserver nicht vorhanden. –
603402 Die Sortierreihenfolge stimmt nicht überein. Die Sortierung {0} für die Tabelle {1} in Spalte {2} ist auf dem Zielserver nicht vorhanden. Wenden Sie sich an den Microsoft-Support , um die erforderlichen Sortierungen hinzuzufügen.
603403 Die Sortierreihenfolge stimmt nicht überein. Die Quelldatenbank enthält benutzerdefinierte Sortierungen. Löschen Sie diese Kollationen und versuchen Sie die Migration erneut. –
603404 Nicht unterstützte OIDs erkannt. Tabellen mit „WITH OIDs“ in der Datenbank {0} erkannt. Sie werden in PostgreSQL, Version 12 und höher, nicht unterstützt. Besuchen Sie die Versionshinweise zu PostgreSQL.
603405 Nicht unterstützte Erweiterungen. Der Migrationsdienst unterstützt die Migration von Datenbanken mit {0} Erweiterungen auf dem Zielserver nicht. –
603406 Nicht unterstützte Erweiterungen. Target PostgreSQL {0} unterstützt POSTGIS Version 3.2.3, die nicht mit der Quelle {1}kompatibel ist. Upgrade des Zielservers auf Version 11 empfehlen. Besuchen Sie PostGIS – Breaking Changes.
603407 Erweiterungsschemafehler. Erweiterungen {0} , die sich im Systemschema auf dem Quellserver befinden, werden auf dem Zielserver nicht unterstützt. Löschen Sie die Erweiterungen und erstellen Sie sie in einem Nicht-Systemschema neu. Versuchen Sie dann die Migration erneut. Besuchen Sie Die PostgreSQL-Erweiterungen.
603408 Nicht unterstützte Erweiterungen. Die Zielserverversion 16 unterstützt {0} keine Erweiterungen. Migrieren Sie zu Version 15 oder niedriger, und aktualisieren Sie dann, sobald die Erweiterungen unterstützt werden. –
603409 Benutzerdefinierte Casts vorhanden. Die Quelldatenbank {0} enthält benutzerdefinierte Umwandlungen, die nicht auf den Zielserver migriert werden können. –
603410 Berechtigungsfehler bei der Systemtabelle. Benutzer haben Zugriff auf Systemtabellen wie pg_authid und pg_shadow, die nicht zum Ziel migriert werden können. Widerrufen Sie diese Berechtigungen, und wiederholen Sie die Migration. Die Überprüfung der standardmäßig gewährten Berechtigungen für pg_catalog Tabellen bzw. Ansichten (wie etwa pg_authid und pg_shadow) ist unerlässlich. Diese Berechtigungen können dem Ziel jedoch nicht zugewiesen werden. Insbesondere verfügt der Benutzer {1} über {2} Berechtigungen, während der Benutzer {3} Berechtigungen besitzt {4} . Eine Problemumgehung finden Sie unter "Benutzer", "Rollen" und "Berechtigungen".
603413 Nicht unterstützte Sprachen. Der Migrationsdienst unterstützt die Migration von Datenbanken mit {0} Sprachen auf dem Zielserver nicht. Entfernen Sie die Sprache(n) und die implementierten Funktionen. Der Zielserver unterstützt die nicht unterstützten Sprachen nicht. Versuchen Sie, die entsprechende Sprache auf dem Quellserver zu deaktivieren oder zu entfernen, bevor Sie zum Zielserver migrieren.
603700 Die Bereinigung der Zieldatenbank ist fehlgeschlagen. Aktive Verbindungen in der Zieldatenbank können während der Phase vor der Migration/nach der Migration nicht beendet werden. –
603701 Interner Serverfehler. Fehler beim Erstellen von Rollen auf dem Zielserver. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603702 Interner Serverfehler. Fehler beim Abbilden von Rollen vom Quellserver. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603703 Interner Serverfehler. Die Dump-Datei der globalen Rolle konnte nicht bearbeitet werden. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603704 Interner Serverfehler. Fehler beim Hinzufügen aller Quellrollen als Mitglieder des Zielmigrationsbenutzers. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603705 Interner Serverfehler. Fehler beim Wiederherstellen von Zulassungen/Widerrufen. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603706 Interner Serverfehler. Der Migrationsbenutzer des Zielservers konnte nicht bereinigt werden. Ihr Zielmigrationsbenutzer kann Teil mehrerer Rollen sein. Entfernen Sie alle unnötigen Rollen vom Zielservermigrationsbenutzer, und wiederholen Sie die Migration. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603707 Interner Serverfehler. Fehler beim Zuweisen von azure_pg_admin an den Administratorbenutzer des Quellservers. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603708 Interner Serverfehler. Fehler beim Ändern des Besitzers des öffentlichen Schemas zum azure_pg_admin in der Datenbank '{dbName}'. Ändern Sie den Besitzer des öffentlichen Schemas in azure_pg_admin manuell, und wiederholen Sie die Migration. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.
603709 Fehler beim Migrationssetup. Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen.