Maintenance Openflow Connector for PostgreSQL¶
Note
Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.
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.
Mise à à niveau de PostgreSQL¶
La mise à niveau du connecteur nécessite une approche différente selon que PostgreSQL est en train de passer à la version mineure ou majeure suivante.
Mises à niveau de la version mineure
Sont des données sûres.
Aucun traitement particulier n’est requis.
Demandez d’arrêter le connecteur pendant la durée de la mise à niveau afin d’éviter de signaler des problèmes de connexion.
Continuez la réplication, après la mise à niveau, sans perte de données.
Mises à niveau de la version majeure
Demandez au serveur PostgreSQL de supprimer les emplacements de réplication, y compris ceux utilisés par le connecteur.
Impossible de conserver ou de migrer les emplacements de réplication vers la nouvelle version. Voir aussi Mises à niveau des versions PostgresSQL 17 et ultérieures.
Redémarrez la réplication de toutes les tables de la phase instantané précédente.
Pour effectuer une mise à niveau de version mineure, procédez comme suit :
Arrêtez le connecteur, y compris tous les processeurs et les services de contrôleur.
Mettez PostgreSQL à niveau.
Redémarrez le connecteur.
Pour effectuer une mise à niveau de version majeure, procédez comme suit :
Supprimez toutes les tables de la réplication dans le connecteur.
Attendez que toutes les files d’attente du connecteur soient vides.
Arrêtez le connecteur, y compris tous les processeurs et les services de contrôleur.
Ouvrez le groupe Incremental Load dans le connecteur.
Faites un clic droit sur le processeur supérieur du groupe, Read PostgreSQL CDC Stream, et sélectionnez View state.
Cliquez sur Clear state.
Cliquez sur Close.
Mettez PostgreSQL à niveau.
Redémarrez le connecteur. Un nouvel emplacement de réplication sera créé.
Ajoutez de nouveau toutes les tables pour commencer la réplication.
Mises à niveau des versions PostgresSQL 17 et ultérieures¶
Amélioration de la mise à niveau PostgreSQL 17, de sorte qu’il n’est plus nécessaire de supprimer les emplacements de réplication lors du passage aux versions ultérieures telles que 17.1 » 18.0. Le passage à PostgreSQL 17.0 ou une version ultérieure (depuis la version 16 et les versions antérieures) permet de supprimer les emplacements de réplication et doit être considéré comme une mise à niveau majeure. Les futures versions de PostgreSQL peuvent également améliorer davantage le processus de mise à niveau.
Reinstall the connector¶
This section describes how to reinstall the connector. It covers situations where the new connector is installed in the same runtime, or when it is moved to a new runtime. Reinstall is often used in conjunction with Incremental replication with snapshots.
Avertissement
For the connector to be able to continue replicating from the same CDC stream position where it stopped before reinstallation,
the source database must retain the WAL long enough to cover the time since the old connector is stopped and the new connector is started.
Ensure the max_wal_size parameter of the PostgreSQL server is high enough, depending on your traffic, and keep the reinstallation time to a minimum.
Prerequisites¶
Review and note connector parameter context values. If you’re reinstalling the connector in the same runtime, you can reuse the existing context. If the new instance will be located in a different runtime, you will have to re-enter all parameters.
To reinstall the connector:
Finish processing all in-flight FlowFiles in the existing connector, and then stop the connector.
Sign in to Snowsight.
In the navigation menu, select Ingestion » Openflow.
In the Openflow pane select the Runtimes tab.
Select the runtime containing the connector.
Select the connector.
Stop the topmost processor Set Tables for Replication in the Snapshot Load group.
Stop the topmost processor Read PostgreSQL CDC Stream in the Incremental Load group.
If you changed the value of the Merge Task Schedule CRON parameter, return it to
* * * * * ?, otherwise queues will not be emptied until the next scheduled run.Wait until all FlowFiles in the connector have been processed, and all queues are empty. When all FlowFiles have been processed, the Queued value on the connector’s processor group becomes zero. If there are any items left in the original connector’s queues, there may be data gaps when the new connector starts.
Stop all processors and controller services in the connector.
Find and copy the name of the replication slot used by the original connector, by viewing the state of the topmost processor in the
Incremental Loadgroup with nameRead PostgreSQL CDC Stream. The replication slot name is stored under the keyreplication.slot.name. Copy the value of the key to a text editor.Create a new instance of the connector. If you’re using the same runtime as the original connector, you can choose to keep the existing parameter contexts, and reuse the settings.
Prudence
The existing connector can remain in the runtime and doesn’t interfere with the new instance, as long as it remains stopped.
If you’re installing into a different runtime, or you deleted the previous parameter contexts, enter all the configuration settings into the new parameter contexts, including the table names and patterns as described in Paramétrez Openflow Connector for PostgreSQL.
Open the
PostgreSQL Ingestion Parameterscontext, and setIngestion Typeparameter toincremental. For more information on the concerns see Enable incremental replication without snapshots.Open the
PostgreSQL Source Parameterscontext, and set theReplication Slot Nameparameter to the value you copied earlier.Start the new connector.
Usage notes¶
The new connector will use the same, existing destination tables that created by the original connector, but will create new journal tables.