Openflow Connector for PostgreSQL-Verwaltung¶
Bemerkung
This connector is subject to the Snowflake Connector Terms.
This topic describes important maintenance considerations and best practices for maintaining the Openflow Connector for PostgreSQL when making changes to the source PostgreSQL database. In addition this topic describes how to reinstall the connector.
Upgrade von PostgreSQL¶
Das Aktualisieren des Konnektors erfordert jeweils einen anderen Ansatz, je nachdem, ob PostgreSQL auf die nächste Neben- oder Hauptversion aktualisiert wird.
Upgrades auf eine Nebenversion
Sind datensicher.
Erfordern keine Sonderbehandlung.
Erfordern, dass der Konnektor für die Dauer des Upgrades angehalten wird, um zu vermeiden, dass Konnektivitätsprobleme gemeldet werden.
Setzen die Replikation nach dem Upgrade ohne Datenverlust fort.
Upgrades auf eine Hauptversion
Erfordern, dass der PostgreSQL-Server Replikations-Slots löscht, einschließlich aller vom Konnektor verwendeten.
Können keine Replikations-Slots beibehalten oder auf die neue Version migrieren. Siehe auch Upgrades auf PostgresSQL Version 17 und höher.
Starten Sie die Replikation aller Tabellen aus der vorherigen Snapshot-Phase neu.
Um ein Upgrade auf eine Nebenversion durchzuführen, gehen Sie wie folgt vor:
Stoppen Sie den Konnektor, einschließlich aller Prozessoren und Controller-Dienste.
Führen Sie ein Upgrade von PostgreSQL durch.
Starten Sie den Konnektor neu.
Um ein Upgrade auf eine Hauptversion durchzuführen, gehen Sie wie folgt vor:
Entfernen Sie im Konnektor alle Tabellen aus der Replikation.
Warten Sie, bis alle Warteschlangen im Konnektor leer sind.
Stoppen Sie den Konnektor, einschließlich aller Prozessoren und Controller-Dienste.
Öffnen Sie die Gruppe Incremental Load im Konnektor.
Klicken Sie mit der rechten Maustaste auf den obersten Prozessor in der Gruppe, Read PostgreSQL CDC Stream, und wählen Sie View state aus.
Klicken Sie auf Clear state.
Klicken Sie auf Close.
Führen Sie ein Upgrade von PostgreSQL durch.
Starten Sie den Konnektor neu. Es wird ein neuer Replikations-Slot erstellt.
Fügen Sie alle Tabellen erneut hinzu, um die Replikation zu starten.
Upgrades auf PostgresSQL Version 17 und höher¶
PostgreSQL 17 hat die Upgrade-Funktion dahingehend verbessert, dass beim Upgrade auf spätere Versionen wie von 17.1 » 18.0 keine Replikations-Slots mehr gelöscht werden müssen. Ein Upgrade auf PostgreSQL 17.0 oder höher von früheren Versionen (16 und früher) entfernt Replikations-Slots und sollte als Upgrade auf eine Hauptversion behandelt werden. Zukünftige Versionen von PostgreSQL können den Upgrade-Prozess möglicherweise noch weiter verbessern.
Reinstall the connector¶
In diesem Abschnitt wird beschrieben, wie Sie den Konnektor erneut installieren. Dies deckt Situationen ab, in denen der neue Konnektor in derselben Laufzeitumgebung installiert wird oder wenn er in eine neue Laufzeitumgebung verschoben wird. Die Neuinstallation wird häufig in Verbindung mit Inkrementeller Replikation mit Snapshots verwendet.
Warnung
Damit der Konnektor weiterhin von derselben CDC Stream-Position replizieren kann, an der er vor der Neuinstallation angehalten wurde, muss die Quelldatenbank das WAL lange genug beibehalten, um die Zeit zwischen dem Anhalten des alten Konnektors und dem Starten des neuen Konnektors abzudecken. Stellen Sie sicher, dass der Parameter max_wal_size desPostgreSQL-Servers hoch genug ist, abhängig vom Datenverkehr, und beschränken Sie die Neuinstallationszeit auf ein Minimum.
Voraussetzungen¶
Überprüfen und notieren Sie die Kontextwerte der Konnektorparameter. Wenn Sie den Konnektor in derselben Laufzeit neu installieren, können Sie den vorhandenen Kontext wiederverwenden. Wenn sich die neue Instanz in einer anderen Laufzeitumgebung befindet, müssen Sie alle Parameter neu eingeben.
To reinstall the connector:
Schließen Sie die Verarbeitung aller in Übertragung befindlichen FlowFiles im bestehenden Konnektor ab und stoppen Sie dann den Konnektor.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Ingestion » Openflow aus.
Wählen Sie im Bereich Openflow die Registerkarte Runtimes aus.
Select the runtime containing the connector.
Select the connector.
Stoppen Sie den obersten Prozessor Set Tables for Replication in der Gruppe Snapshot Load.
Stop the topmost processor Read PostgreSQL CDC Stream in the Incremental Load group.
Wenn Sie den Wert des Parameters Merge Task Schedule CRON geändert haben, geben Sie ihn an
* * * * * ?zurück, andernfalls werden die Warteschlangen erst bei der nächsten geplanten Ausführung geleert.Warten Sie, bis alle FlowFiles im Konnektor verarbeitet wurden und alle Warteschlangen leer sind. Wenn alle FlowFiles verarbeitet wurden, wird der Wert Queued für die Prozessorgruppe des Konnektors zu Null. Wenn sich noch Elemente in den Warteschlangen des ursprünglichen Konnektors befinden, kann es beim Starten des neuen Konnektors zu Datenlücken kommen.
Stop all processors and controller services in the connector.
Suchen Sie den Namen des vom ursprünglichen Konnektor verwendeten Replikations-Slots, und kopieren Sie ihn, indem Sie den Status des obersten Prozessors in der Gruppe
Incremental Loadmit dem NamenRead PostgreSQL CDC Streamanzeigen. Der Name des Replikations-Slots wird unter dem Schlüsselreplication.slot.namegespeichert. Kopieren Sie den Wert des Schlüssels in einen Texteditor.Erstellen Sie eine neue Instanz des Konnektors. Wenn Sie dieselbe Laufzeitumgebung wie der ursprüngliche Konnektor verwenden, können Sie die vorhandenen Parameterkontexte beibehalten und die Einstellungen wiederverwenden.
Vorsicht
Der bestehende Konnektor kann in der Laufzeit verbleiben und beeinträchtigt die neue Instanz nicht, solange sie angehalten bleibt.
Wenn Sie in eine andere Laufzeitumgebung installieren oder die vorherigen Parameterkontexte gelöscht haben, geben Sie alle Konfigurationseinstellungen in die neuen Parameterkontexte ein, einschließlich der Tabellennamen und Muster, wie unter Einrichten von Openflow Connector for PostgreSQL beschrieben.
Öffnen Sie den
PostgreSQL Ingestion Parameters-Kontext, und setzen Sie den ParameterIngestion Typeaufincremental. Weitere Informationen zu den Problemen finden Sie unter Aktivieren der inkrementellen Replikation ohne Snapshots.Öffnen Sie den
PostgreSQL Source Parameters-Kontext, und setzen Sie den ParameterReplication Slot Nameauf den zuvor kopierten Wert.Start the new connector.
Nutzungshinweise¶
Der neue Konnektor verwendet dieselben vorhandenen Zieltabellen, die vom ursprünglichen Konnektor erstellt wurden, erstellt jedoch neue Journaltabellen.