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

PostgreSQL :

Cette section explique comment configurer la connectivité à une cible PostgreSQL via le connecteur Cible PostgreSQL. PostgreSQL peut être utilisé comme cible dans une tâche Replicate uniquement. Avant de pouvoir vous connecter à une cible PostgreSQL, vous devez configurer les Autorisations requises sur la base de données. Si vous vous connectez à PostgreSQL via Data Movement gateway, vous devez également installer le pilote, comme décrit à la section Configuration du pilote.

Pour des informations sur les limitations et les considérations à prendre en compte lors de l'utilisation du connecteur PostgreSQL, voir Limitations et considérations générales.

Définition des propriétés de connexion s

Cette section décrit les propriétés de connexion disponibles. Toutes les propriétés sont requises, sauf indication contraire.

Cible de données

  • Passerelle de données : Sélectionnez la passerelle Data Movement gateway qui sera utilisée pour tester la connexion à la cible PostgreSQL. Il doit s'agir de la même passerelle que celle utilisée pour accéder à la source de données.

    Note Informations
    • Nécessite Data Movement gateway 2023.5.10 ou une version ultérieure.
    • Vous devez également installer le pilote approprié sur le poste Data Movement gateway. Pour des informations détaillées, voir la section Configuration du pilote ci-dessous.

  • Fournisseur de cloud : Sélectionnez l'une des options suivantes, le cas échéant :

      • PostgreSQL sur site
      • Amazon Aurora
      • Base de données Azure pour PostgreSQL - Serveur flexible
    • Pour Amazon RDS pour PostgreSQL.

      • Google Cloud SQL pour MySQL
      • Google Cloud AlloyDB pour PostgreSQL
    • Pour Microsoft Azure Database for PostgreSQL.

  • Host : nom d'hôte ou adresse IP de l'ordinateur sur lequel la base de données PostgreSQL est installée.

  • Port : port utilisé lors de la connexion à la base de données. Le port 5432 est le port par défaut.

Propriétés de compte

User Name et Password : nom d'utilisateur et mot de passe d'un utilisateur autorisé à accéder à la base de données PostgreSQL Server.

Propriétés de base de données

  • Nom de base de données : il existe deux méthodes à utiliser pour spécifier une base de données :

    • Méthode 1 - Sélection à partir d'une liste : Cliquez sur Charger des bases de données et sélectionnez une base de données.
    • Méthode 2 - Manuellement : Sélectionnez Saisir le nom de base de données manuellement et saisissez le nom de la base de données.
  • SSL Mode : Sélectionnez une des options suivantes :
    • disable : connexion uniquement avec un nom de famille et un mot de passe.
    • allow : établissement d'une connexion chiffrée à la demande du serveur.
    • prefer : valeur par défaut. Établit une connexion chiffrée si le serveur prend en charge les connexions chiffrées et revient à une connexion non chiffrée si aucune connexion chiffrée ne peut être établie.
    • require : établit une connexion chiffrée si le serveur prend en charge les connexions chiffrées. La tentative de connexion échoue s'il est impossible d'établir une connexion chiffrée.
    • verify-ca : identique à Required, mais vérifie également le certificat de l'autorité de certification du serveur par rapport aux certificats d'autorité de certification configurés. La tentative de connexion échoue si aucun certificat valide d'autorité de certification correspondant n'a été trouvé.
    • verify-full : identique à Verify CA, mais une vérification de l'identité du nom d'hôte est également effectuée en comparant le nom d'hôte que le client (à savoir, Data Movement gateway) utilise pour se connecter au serveur à l'identité indiquée dans le certificat que le serveur envoie au client. Le client vérifie si le nom d'hôte qu'il utilise pour se connecter correspond à la valeur Nom commun incluse dans le certificat du serveur. La connexion échoue si une incohérence est détectée.
  • Trusted certificate : autorité de certification qui a émis le fichier de certificat du client au format PEM.
  • Client certificate : charge le certificat du client demandé par le serveur.
  • Client certificate key : fichier de clé privée du client au format PEM.
  • CRL : certificat CRL. Ce fichier contient les certificats révoqués par les autorités de certification. Si le certificat du serveur figure dans la liste, la connexion échoue.
  • Compression SSL : sélectionnez cette option pour compression les données avant leur chiffrement.
  • Max file size (KB) : sélectionnez ou saisissez la taille maximale (en Ko) d'un fichier CSV avant qu'il soit chargé dans la base de données cible PostgreSQL. La valeur par défaut est 32 000 Ko.

Propriétés internes

Les propriétés internes s'adressent à des cas d'utilisation spéciaux et ne sont par conséquent pas exposées dans la boîte de dialogue. Utilisez-les uniquement si Qlik Support vous le demande.

Utilisez les boutons Créer nouveau et Annuler à droite des champs pour ajouter ou supprimer des propriétés, suivant les besoins.

Nom

Nom d'affichage de la connexion.

Conditions préalables requises

Autorisations requises

L'utilisateur spécifié dans les paramètres du connecteur doit être un utilisateur enregistré dans la base de données PostgreSQL.

Les privilèges suivants doivent également être accordés :

  • Peut se connecter
  • Créer des bases de données
Note InformationsSi le schéma cible existe déjà dans la base de données, le privilège "Créer des bases de données" n'est pas obligatoire.

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.

  • 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

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

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

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 des pilotes et des bibliothèques

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

Limitations et considérations générales

Lors de l'utilisation de PostgreSQL comme cible de réplication, les limitations suivantes s'appliquent :

  • Les opérations UPDATE et DELETE sur des tables sans index de clé primaire/unique contenant des enregistrements dupliqués ne sont pas prises en charge. Toute modification apportée à ces tables affectera l'ensemble des enregistrements dans la cible.
  • Les tables avec une colonne de LOB dans la clé ne sont pas prises en charge en mode Application avec optimisation par lots. Lorsqu'une colonne VARBINARY est utilisée comme clé de table source, une colonne BYTEA est créée dans la cible. Cela entraîne un comportement imprévisible en mode Application avec optimisation par lots. Pour contourner le problème, nous suggérons d'utiliser la fonction SQLite HEX pour convertir VARBINARY en VARCHAR.

Types de données

Les informations de type de données natif sont préservées et affichées dans la colonne Type de données natif des vues d'ensemble de données. Si la colonne n'est pas visible, vous devez ouvrir le sélecteur de colonnes de la vue d'ensemble de données et sélectionner la colonne Type de données natif.

Types de données
Types de données Qlik Cloud Types de données PostgreSQL

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

Si l'échelle est => 0 et =< 6 :

TIMESTAMP

Si l'échelle est => 7 et =< 12 :

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

If length is 1 - 21845, then:

VARCHAR (Length in Bytes = The STRING value multiplied by three)

If length is 21846 - 2147483647, then:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

If length is 1 - 21845, then:

VARCHAR (Length in Bytes = The WSTRING value multiplied by three)

If length is 21846 - 2147483647, then:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

Types de données lors de la réplication depuis une source PostgreSQL

Lors de la réplication depuis une source PostgreSQL, la table cible est créée avec les mêmes types de données pour toutes les colonnes, à l'exception des colonnes avec des types de données PostGIS ou définis par l'utilisateur. Dans ce cas, le type de données est créé sous forme de « character varying » (variation de caractères) dans la cible.

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 !