Maintenance Openflow Connector for PostgreSQL

Note

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.

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 :

  1. Arrêtez le connecteur, y compris tous les processeurs et les services de contrôleur.

  2. Mettez PostgreSQL à niveau.

  3. Redémarrez le connecteur.

Pour effectuer une mise à niveau de version majeure, procédez comme suit :

  1. Supprimez toutes les tables de la réplication dans le connecteur.

  2. Attendez que toutes les files d’attente du connecteur soient vides.

  3. Arrêtez le connecteur, y compris tous les processeurs et les services de contrôleur.

  4. Ouvrez le groupe Incremental Load dans le connecteur.

  5. Faites un clic droit sur le processeur supérieur du groupe, Read PostgreSQL CDC Stream, et sélectionnez View state.

  6. Cliquez sur Clear state.

  7. Cliquez sur Close.

  8. Mettez PostgreSQL à niveau.

  9. Redémarrez le connecteur. Un nouvel emplacement de réplication sera créé.

  10. 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

Cette section explique comment réinstaller le connecteur. Elle couvre les situations dans lesquelles le nouveau connecteur est installé dans le même environnement d’exécution ou lorsqu’il est déplacé vers un nouvel environnement d’exécution. La réinstallation est souvent utilisée en conjonction avec Réplication incrémentielle avec instantanés.

Avertissement

Pour que le connecteur puisse continuer la réplication à partir de la même position du flux CDC où il s’est arrêté avant la réinstallation, la base de données source doit conserver le WAL suffisamment longtemps pour couvrir la période écoulée entre l’arrêt de l’ancien connecteur et le démarrage du nouveau connecteur. Assurez-vous que le paramètre max_wal_size du serveur PostgreSQL est suffisamment élevé, en fonction de votre trafic, et maintenez le temps de réinstallation au minimum.

Conditions préalables

Examinez et notez les valeurs contextuelles des paramètres du connecteur. Si vous réinstallez le connecteur dans le même environnement d’exécution, vous pouvez réutiliser le contexte existant. Si la nouvelle instance sera située dans un environnement d’exécution différent, vous devrez saisir à nouveau tous les paramètres.

To reinstall the connector:

  1. Terminez le traitement de tous les FlowFiles en cours dans le connecteur existant, puis arrêtez le connecteur.

    1. Connectez-vous à Snowsight.

    2. Dans le menu de navigation, sélectionnez Ingestion » Openflow.

    3. Dans le volet Openflow, sélectionnez l’onglet Runtimes.

    4. Select the runtime containing the connector.

    5. Select the connector.

    6. Arrêtez le processeur le plus élevé Set Tables for Replication dans le groupe Snapshot Load.

    7. Stop the topmost processor Read PostgreSQL CDC Stream in the Incremental Load group.

    8. Si vous avez modifié la valeur du paramètre Merge Task Schedule CRON, rétablissez-le sur * * * * * ?. Sinon, les files d’attente ne seront pas vidées avant la prochaine exécution planifiée.

      Attendez que tous les FlowFiles du connecteur aient été traités et que toutes les files d’attente soient vides. Lorsque tous les FlowFiles ont été traités, la valeur Queued sur le groupe de processeurs du connecteur devient nulle. S’il reste des éléments dans les files d’attente du connecteur d’origine, il se peut qu’il y ait des écarts de données au démarrage du nouveau connecteur.

    9. Stop all processors and controller services in the connector.

  2. Recherchez et copiez le nom de l’emplacement de réplication utilisée par le connecteur d’origine en affichant l’état du processeur le plus élevé dans le groupe Incremental Load avec le nom Read PostgreSQL CDC Stream. Le nom de l’emplacement de réplication est stocké sous la clé replication.slot.name. Copiez la valeur de la clé dans un éditeur de texte.

  3. Créez une nouvelle instance du connecteur. Si vous utilisez le même environnement d’exécution que le connecteur d’origine, vous pouvez choisir de conserver les contextes de paramètres existants et de réutiliser les paramètres.

    Prudence

    Le connecteur existant peut rester dans l’environnement d’exécution et n’interfère pas avec la nouvelle instance, tant qu’il reste à l’arrêt.

  4. Si vous procédez à une installation dans un environnement d’exécution différent, ou si vous avez supprimé les contextes de paramètres précédents, entrez tous les paramètres de configuration dans les nouveaux contextes de paramètres, y compris les noms et les modèles de tables, comme décrit dans Paramétrez Openflow Connector for PostgreSQL.

  5. Ouvrez le contexte PostgreSQL Ingestion Parameters et définissez le paramètre Ingestion Type sur incremental. Pour obtenir plus d’informations sur les considérations à prendre en compte, consultez Activer la réplication incrémentielle sans instantanés.

  6. Ouvrez le contexte PostgreSQL Source Parameters et définissez le paramètre Replication Slot Name sur la valeur que vous avez copiée précédemment.

  7. Start the new connector.

Notes sur l’utilisation

Le nouveau connecteur utilisera les mêmes tables de destination existantes que celles créées par le connecteur d’origine, mais créera de nouvelles tables de journal.