Accéder au contenu principal Passer au contenu complémentaire

Conditions préalables requises

Avant de pouvoir déposer temporairement ou répliquer des données, vérifiez que vous remplissez bien les conditions préalables requises suivantes :

  • Installez le driver requis sur le serveur de la passerelle Déplacement de données.

  • Accordez les autorisations requises sur la source de données.

  • Configuration du connecteur de source de données

Configuration du pilote

Vous pouvez installer le driver via l'utilitaire d'installation de pilote (recommandé) ou manuellement. Tentez une installation manuelle uniquement dans le cas improbable où vous rencontriez un problème avec l'utilitaire d'installation de pilote.

Utilisation de l'utilitaire d'installation de pilote pour installer le pilote

Cette section explique comment installer le driver requis. Le processus implique l'exécution d'un script qui téléchargera, installera et configurera automatiquement le driver requis. Vous pouvez également exécuter des scripts permettant de mettre à jour et de désinstaller le driver, si nécessaire.

Préparation de l'installation

  • Assurez-vous que Python 3.6 ou une version ultérieure est installé sur le serveur de passerelle Déplacement des données.

    Python est préinstallé sur la plupart des distributions Linux. Vous pouvez vérifier la version de Python installée sur votre système en exécutant la commande suivante :

    python3 --version

Installation de driver

Pour télécharger et installer le driver :

  1. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  2. Exécutez la commande suivante :

    Syntaxe :

    ./install postgres

    Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driver sur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande install postgres.

    Sinon, le CLUF du driver apparaîtra.

  3. Procédez de l'une des manières suivantes :

    • Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
    • Appuyez à plusieurs reprises sur la barre d'espacement pour parcourir rapidement le CLUF.
    • Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
  4. Procédez de l'une des manières suivantes :

    • Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
    • Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
    • Saisissez « v » et appuyez sur [Entrée] pour afficher de nouveau le CLUF.

  5. Le driver sera installé.

Mise à jour du driver

Exécutez la commande update si vous souhaitez désinstaller des versions précédentes du driver avant d'installer le driver fourni.

Pour télécharger et mettre à jour le driver :

  1. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  2. Exécutez la commande suivante :

    Syntaxe :

    ./update postgres

    Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driversur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande update postgres.

    Sinon, le CLUF du driver apparaîtra.

  3. Procédez de l'une des manières suivantes :

    • Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
    • Appuyez à plusieurs reprises sur la barre d'espacement pour parcourir rapidement le CLUF.
    • Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
  4. Procédez de l'une des manières suivantes :

    • Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
    • Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
    • Saisissez « v » et appuyez sur [Entrée] pour passer le CLUF en revue depuis le début.
  5. L'ancien driver sera désinstallé et le nouveau driver sera installé.

Désinstallation du driver

Exécutez la commande uninstall si vous souhaitez désinstaller le driver.

Pour désinstaller le driver :

  1. Arrêtez toutes les tâches configurées pour utiliser ce connecteur.

  2. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  3. Exécutez la commande suivante :

    Syntaxe :

    ./uninstall postgres

    le driver sera désinstallé.

Installation manuelle du pilote

Vous devez tenter d'installer manuellement le driver uniquement si l'installation de pilote automatisée n'a pas fonctionné.

Une fois la Data Movement gateway installée, téléchargez les fichiers RPM suivants. Vous trouverez des liens de téléchargement direct des fichiers sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Une fois le téléchargement terminé, copiez les fichiers sur le poste Data Movement gateway.

Lorsque Data Movement gateway est installée sur Red Hat 9.x :

  • postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
  • postgresql<version>-odbc-<version>PGDG.rhel9.x86_64.

Lorsque Data Movement gateway est installée sur Red Hat 8.x :

  • postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm

Sur le serveur Data Movement gateway, ouvrez une invite shell et procédez comme suit :

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  3. Installez les fichiers RPM.

  4. Remplacez le répertoire de travail par <Data Movement gateway-Install-Dir>/bin.

  5. Copiez l'emplacement du pilote dans le fichier site_arep_login.sh, comme suit :

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh

    Le pilote est ainsi ajouté à « LD_LIBRARY_PATH » et son emplacement est mis à jour dans le fichier site_arep_login.sh.

  6. Confirmez éventuellement que l'emplacement du pilote a été copié :

    cat site_arep_login.sh
  7. Vérifiez que le fichier /etc/odbcinst.ini contient une entrée pour PostgreSQL, comme dans l'exemple suivant :

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

    Driver = /usr/pgsql-13/lib/psqlodbc.so

    Setup = /usr/pgsql-13/lib/psqlodbcw.so

    UsageCount = 1

  8. Démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  9. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

Port

Par défaut, le port 5432 doit être ouvert pour la communication sortante sur le serveur Data Movement gateway. Vous pouvez le modifier dans les paramètres de connexion.

Capture de modifications provenant d'une base de données PostgreSQL installée par le client

  • L'adresse IP de la machine Data Movement gateway doit être ajoutée au fichier de configuration pg_hba.conf avec le mot clé "replication" dans le champ de base de données.

    Exemple :

    host replication all 176.123.1.212/32 trust

  • Assurez-vous que le plug-in de sortie test_decoding (disponible dans le package postgresql12-contrib) est installé.

  • L'utilisateur indiqué dans les paramètres de connexion doit disposer des autorisations en lecture/écriture à la base de données source pour permettre la créaton de "slots" sur la base de données. Les slots sont nécessaires pour lire les modifications.

  • Les paramètres et valeurs suivants doivent être définis dans le fichier de configuration postgresql.conf.

    wal_level = logical
    max_replication_slots = number of replication slots

    number of replication slots doit être supérieur à un et doit être défini en fonction du nombre de tâches que vous souhaitez exécuter. Par exemple, pour exécuter cinq tâches, vous devez définir max_replication_slots = 5. Des slots s'ouvrent automatiquement dès qu'une tâche démarre et ils restent ouverts même lorsque la tâche ne s'exécute plus. Notez que les slots ouverts doivent être supprimés manuellement.

    max_wal_senders = number of concurrent tasks

    number of concurrent tasks doit être supérieur à un et doit être défini en fonction du nombre de tâches que vous exécutez simultanément. Par exemple, pour exécuter trois tâches simultanément, vous devez définir max_wal_senders = 3.

  • Le paramètre wal_sender_timeout met fin aux connexions dont l'inactivité dépasse le nombre de millisecondes définies. Le délai d'expiration par défaut correspond à 60 secondes. Pour désactiver le mécanisme de délai d'expiration (facultatif), attribuez la valeur zéro à ce paramètre.

    Note Informations

    Par défaut, le serveur interprète la valeur du paramètre wal_sender_timeout comme des millisecondes. Pour indiquer des secondes de manière explicite, ajoutez un "s" à la valeur comme illustré dans l'exemple suivant :

    wal_sender_timeout=60s

Pour plus d'informations sur les paramètres de configuration, voir la section Replication sous Configuration du serveur dans l'aide en ligne PostgreSQL.

Capture de modifications provenant d'Amazon RDS pour PostgreSQL

Vous pouvez utiliser le compte utilisateur principal AWS pour l'instance de base de données PostgreSQL comme utilisateur pour le point de terminaison source Amazon RDS pour PostgreSQL. Le compte d'utilisateur principal a les rôles requis qui lui permettent de configurer Change Data Capture (CDC - Capture des données de modifications).

Si vous préférez ne pas utiliser le compte d'utilisateur principal, le compte que vous souhaitez utiliser doit avoir le rôle rds_superuser et le rôle rds_replication. Le rôle rds_replication accorde des autorisations pour gérer les slots logiques et pour diffuser des données en utilisant des slots logiques.

Pour activer la réplication logique pour une instance de base de données Amazon RDS PostgreSQL :

  1. Créez un nouveau groupe de paramètres avec la configuration suivante :
    1. Définissez le paramètre rds.logical_replication dans le groupe de paramètres de la base de données sur 1.
    2. max_wal_senders – Le nombre de tâches qui peuvent être exécutées en parallèle.
    3. max_replication_slots – Chaque connexion (c'est-à-dire chaque tâche) crée un nouvel emplacement ; ce paramètre configure le nombre de connexions simultanées qui peuvent être établies avec la base de données.
  2. Liez l'instance Amazon RDS au groupe de paramètres.

Capture de modifications provenant de Microsoft Azure pour PostgreSQL

Pour pouvoir capturer les changements depuis Microsoft Azure pour PostgreSQL, vous devez définir la propriété « replication » sur « logique », comme décrit dans les étapes ci-dessous.

  1. Ouvrez l'Azure CLI et exécutez la commande suivante :

    Note Informations

    Vous pouvez télécharger le CLI ou vous connecter via une commande shell sur le portail Azure.

    az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical

    az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical

     

  2. Redémarrez la base de données (en utilisant la ligne de commande ou via le portail).

Capture de modifications provenant de Google Cloud SQL pour PostgreSQL

Note InformationsCette fonctionnalité nécessite Data Movement gateway 2022.11.42 ou une version ultérieure.

Pour pouvoir capturer les modifications de la base de données, vous devez configurer la réplication logique.

Pour configurer la réplication logique :

  1. Sur Google Cloud Platform, définissez les indicateurs suivants dans les paramètres PostgreSQL :

    • cloudsql.logical_decoding=on
    • max_replication_slots : chaque connexion (c'est-à-dire, chaque tâche) crée un nouvel emplacement ; ce paramètre configure le nombre de connexions simultanées à la base de données pouvant être établies. Si vous rencontrez des problèmes de performances, l'augmentation de cette valeur peut améliorer la situation.
    • max_wal_senders : nombre de tâches pouvant être exécutées en parallèle. Si vous rencontrez des problèmes de performances, l'augmentation de cette valeur peut améliorer la situation.

    Pour plus d'informations sur ces paramètres, voir https://www.postgresql.org/docs/current/runtime-config-replication.html.

  2. Dans la base de données, modifiez l'utilisateur spécifié dans les paramètres connector (username) afin de prendre en charge la réplication :

    ALTER USER username WITH REPLICATION;

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !