Erweiterungsmigration mit dem Migrationsdienst

PostgreSQL-Erweiterungen verbessern die Datenbankfunktionalität, indem neue Features wie erweiterte Indizierung, Zeitreihenverwaltung, räumliche Datenverarbeitung und Fremddatenwrapper hinzugefügt werden. Erweiterungen bieten darüber hinaus mehr Funktionen, z. B. Leistungsoptimierung, Datentransformation und Integration in externe Systeme. Erweiterungen können neue Datentypen, Funktionen, Operatoren, Indextypen und mehr enthalten. Sie erweitern die Funktionen von PostgreSQL, ohne das Kerndatenbanksystem zu ändern.

Der Migrationsdienst für Azure-Datenbank für PostgreSQL unterstützt die Migration aller Erweiterungen, die in Azure Database für PostgreSQL flexible Server verfügbar sind. Um eine erfolgreiche Migration mithilfe des Migrationsdiensts sicherzustellen, empfiehlt es sich, die in Ihrer Quell-PostgreSQL-Instanz verwendeten Erweiterungen zu überprüfen. Erweiterungen bieten wesentliche Funktionen, die möglicherweise für Ihre Anwendung erforderlich sind, und überprüfen Sie sie vor der Migration, um einen reibungslosen Übergang sicherzustellen.

Schritte zum Migrieren von Erweiterungen

Um eine erfolgreiche Migration mit dem Migrationsdienst in Azure Database for PostgreSQL sicherzustellen, müssen Sie möglicherweise Erweiterungen für Ihre PostgreSQL-Quellinstanz überprüfen. Erweiterungen bieten Funktionalität und Features, die für Ihre Anwendung möglicherweise erforderlich sind. Überprüfen Sie die Erweiterungen unbedingt in der PostgreSQL-Quellinstanz, bevor Sie den Migrationsprozess initiieren.

Aktivieren Sie in der Ziel-Azure-Datenbank für flexiblen PostgreSQL-Server die unterstützten Erweiterungen, die in der Quell-PostgreSQL-Instanz identifiziert sind.

Weitere Informationen finden Sie unter Allow extensions. Außerdem müssen bestimmte Erweiterungen zum shared_preload_libraries hinzugefügt werden. Siehe Bibliotheken laden

Hinweis

Bei Änderungen am shared_preload_libraries-Parameter ist ein Neustart erforderlich.

Konfigurationstabellen in Erweiterungen

Einige PostgreSQL-Erweiterungen definieren Konfigurationstabellen, die Metadaten oder Einstellungen speichern, die für die Funktionalität der Erweiterung erforderlich sind. Mithilfe dieser Tabellen können Benutzer Konfigurationen basierend auf ihren spezifischen Datenanforderungen ändern. Der Migrationsdienst unterstützt die Migration von Konfigurationstabellen für die folgenden Erweiterungen:

  • TimescaleDB
  • postgis_topology
  • postgis_tiger_geocoder
  • pg_partman
  • postgres_fdw

Der Migrationsdienst berücksichtigt Konfigurationstabellen für die Migration, wenn sie in der extconfig Spalte der pg_extension Systemkatalogtabelle aufgeführt sind. Diese Tabellen enthalten wichtige Einstellungen oder Metadaten, die für die Funktionalität der Erweiterung erforderlich sind. Dieses Verhalten entspricht der Verwaltung von Erweiterungskonfigurationstabellen durch pg_dump, sodass Konsistenz in Migrationsprozessen sichergestellt wird. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation: pg_dump extend-extensions

Hinweis

Einige Migrationen von Konfigurationstabellen können aufgrund der in der Azure Database für den flexiblen Server von PostgreSQL erforderlichen Superuserberechtigungen fehlschlagen.

Wichtig

Tabellen, auf die in der extconfig Spalte der pg_extension Systemkatalogtabelle nicht verwiesen wird, werden nicht zum Ziel migriert. Stellen Sie während der CDC sicher, dass auf diese Tabellen nicht verwiesen wird, da keine Daten darin geladen sind.

Überlegungen zu postgres_fdw Erweiterung

Das postgres_fdw-Modul stellt den Fremddatenwrapper postgres_fdw bereit, der zum Zugriff auf in externen PostgreSQL-Servern gespeicherte Daten verwendet werden kann. Falls Ihre Datenbank diese Erweiterung verwendet, müssen Sie die folgenden Schritte ausführen, um eine erfolgreiche Migration sicherzustellen.

  1. Entfernen (Aufheben der Verknüpfung) Sie vorübergehend den Fremddatenwrapper auf der Quellinstanz.
  2. Führen Sie die Migration der ruhenden Daten mithilfe des Migrationsdiensts durch.
  3. Stellen Sie die Rollen „Fremddatenwrapper“, Benutzer und Links zum Ziel nach der Migration wieder her.

Überlegungen zur PostGIS-Erweiterung

Die postGIS-Erweiterung weist Breaking Changes/Compat-Probleme zwischen verschiedenen Versionen auf. Wenn Sie zu einem flexiblen Server migrieren, muss die Anwendung auf die neuere postGIS-Version überprüft werden, um sicherzustellen, dass die Anwendung nicht beeinträchtigt wird oder dass die erforderlichen Änderungen vorgenommen werden müssen. Die postGIS News und Versionshinweise sind ein guter Ausgangspunkt, um die Breaking Changes zwischen Versionen zu verstehen.

  • Die topology_id_seq Sequenz wird während der Migration nicht zurückgesetzt. Benutzer müssen sie manuell zurücksetzen, bevor Sie eine neue Topologie erstellen.
  • Einige Funktionen wurden entfernt oder hatten Schemaänderungen, wie z. B. ST_Quantile, ST_ApproxQuantile und MULTIPOINT. Diese Änderungen können zu Migrationsfehlern führen.

Überlegungen zur Migration von pg_partman

pg_partman (PG Partition Manager) ist eine Erweiterung, die die Partitionsverwaltung für die zeitbasierte und serielle Tabellenpartitionierung automatisiert. Sie vereinfacht die Partitionsverarbeitung durch die Verwaltung der Erstellung, Aufbewahrung und Wartung von Partitionen.

  • Wesentliche Änderung: Die Migration von Version 4.* auf 5.* schlägt aufgrund erheblicher struktureller Änderungen in den Erweiterungskonfigurationstabellen fehl.
  • Triggerbasierte Partitionierung: pg_partman 5.x unterstützt keine triggerbasierte Partitionierung. Benutzer müssen vor der Migration von triggerbasierter Partitionierung zu nativen PostgreSQL-Partitionen wechseln.
  • Vormigrationsüberlegung: Benutzer müssen sicherstellen, dass kein Hintergrundauftrag (z. B. Cron, BGP) ausgeführt wird, der Partitionen während des Migrationsprozesses neu erstellt.

TimescaleDB-Migration

Die TimescaleDB-Erweiterung ist eine Zeitreihendatenbank, die als eine Erweiterung für PostgreSQL verpackt wird. Es bietet zeitorientierte analytische Funktionen und Optimierungen und skaliert PostgreSQL für Zeitreihen-Workloads. Erfahren Sie mehr über TimescaleDB, eine eingetragene Marke von Timescale, Inc. Azure Database for PostgreSQL flexible Server bietet die TimescaleDB Apache-2 Edition, und der Migrationsdienst unterstützt dasselbe.

Hinweis

Für Zeitreihendatenbanken ist nur die Offlinemigration möglich.

Indem Sie vor der Migration eine ordnungsgemäße Überprüfung und Konfiguration von Erweiterungen sicherstellen, können Sie einen nahtlosen Übergang zu Azure Database for PostgreSQL flexiblen Server mithilfe des Migrationsdiensts für Azure Database for PostgreSQL erleichtern.