PostgreSQL

Résumé

Élément Description
État de publication Disponibilité générale
PRODUITS Excel
Power BI (Modèles sémantiques)
Power BI (Dataflows)
Fabric (Dataflow Gen2)
Power Apps (Dataflows)
Dynamics 365 Customer Insights
Analysis Services
Types d'authentification pris en charge Base de données (nom d’utilisateur/mot de passe)
Documentation de référence sur la fonction PostgreSQL.Database

Remarque

Certaines fonctionnalités peuvent être présentes dans un produit, mais pas dans d'autres en raison de planifications de déploiement et de fonctionnalités spécifiques à l'hôte.

Prérequis

À compter de la version de décembre 2019, NpgSQL 4.0.10 est fourni avec Power BI Desktop et aucune installation supplémentaire n’est requise. L’installation du GAC remplace la version fournie avec Power BI Desktop, qui sera la valeur par défaut. L’actualisation est prise en charge à la fois via le cloud dans le service Power BI et également localement via la passerelle de données locale. Pour actualiser les données du service Power BI sans passerelle de données locale, PostgreSQL doit être hébergé de manière à autoriser une connexion directe à partir des services Power BI sur Azure. Ceci est pris en charge en mode natif pour PostgreSQL hébergé dans Microsoft Azure. Pour d’autres environnements d’hébergement, consultez votre fournisseur d’hébergement sur la configuration de votre PostgreSQL pour un accès direct à partir d’Internet. Si PostgreSQL est configuré afin qu’il ne soit pas directement accessible à partir d’Internet (recommandé pour la sécurité), vous devez utiliser une passerelle de données locale pour les actualisations. Dans le service Power BI, NpgSQL 4.0.10 sera utilisé, tandis que l’actualisation locale utilisera l’installation locale de NpgSQL, si disponible, et utilisera sinon NpgSQL 4.0.10.

Pour Power BI Desktop versions publiées avant décembre 2019, vous devez installer le fournisseur NpgSQL sur votre ordinateur local. Pour installer le fournisseur NpgSQL, accédez à la page des versions,, recherchez la version 4.0.10, puis téléchargez et exécutez le fichier .msi. L’architecture du nom de source de données (32 bits ou 64 bits) doit correspondre à l’architecture du produit dans laquelle vous envisagez d’utiliser le connecteur. Lors de l’installation, assurez-vous de sélectionner l’installation du GAC NpgSQL pour vous assurer que NpgSQL lui-même est ajouté à votre ordinateur.

Nous vous recommandons NpgSQL 4.0.10. NpgSQL 4.1 et les versions suivantes ne fonctionnent pas en raison des incompatibilités de version .NET.

Installation de Npgsql avec l'installation GAC sélectionnée.

Pour Power Apps, vous devez installer le fournisseur NpgSQL sur votre ordinateur local. Pour installer le fournisseur NpgSQL, rendez-vous sur la page des versions et téléchargez la version correspondante. Téléchargez et exécutez le fichier d’installation (NpgSQL-[numéro de version].msi). Veillez à sélectionner l’installation NpgSQL dans le GAC et une fois terminée, redémarrez votre machine pour que cette installation prenne effet.

Fonctionnalités prises en charge

  • Importer
  • DirectQuery (pour les modèles sémantiques Power BI)
  • Options avancées
    • Délai de commande en minutes
    • Instruction SQL native
    • Colonnes de relation
    • Naviguer avec la hiérarchie complète

Se connecter à un base de données PostgreSQL à partir de Power Query Desktop

Une fois le fournisseur Npgsql correspondant installé, vous pouvez vous connecter à une base de données PostgreSQL. Pour établir la connexion, effectuez les étapes suivantes :

  1. Dans la sélection du connecteur, sélectionnez l’option Base de données PostgreSQL.

  2. Dans la boîte de dialogue Base de données PostgreSQL qui s’affiche, indiquez le nom du serveur et la base de données.

    Générateur de connexion PostreSQL dans Power BI.

  3. Sélectionnez le mode de connectivité des données Import ou DirectQuery.

  4. Si vous vous connectez à cette base de données pour la première fois, entrez vos informations d’identification PostgreSQL dans les zones Nom d’utilisateur et Mot de passe du type d’authentification Base de données. Sélectionnez le niveau auquel appliquer les paramètres d’authentification. Sélectionnez Connecter.

    Entrez votre nom d’utilisateur et votre mot de passe PostgreSQL.

    Pour plus d’informations sur l’utilisation des méthodes d’authentification, consultez Authentification avec une source de données.

    Remarque

    Si la connexion n’est pas chiffrée, le message suivant s’affiche.

    Prise en charge du cryptage des bases de données Azure SQL.

    Sélectionnez OK pour vous connecter à la base de données à l’aide d’une connexion non chiffrée, ou suivez les instructions fournies dans Activer les connexions chiffrées dans le moteur de base de données pour configurer des connexions chiffrées sur la base de données PostgreSQL.

  5. Dans le Navigateur, choisissez les informations de base de données souhaitées, puis sélectionnez Charger pour charger les données ou Transformer les données pour continuer à transformer les données dans l’éditeur Power Query.

    Navigateur Power Query Dektop montrant les données des employés des ressources humaines dans la base de données PostgreSQL.

Se connecter à un base de données PostgreSQL à partir de Power Query Online

Pour établir la connexion, effectuez les étapes suivantes :

  1. Dans la sélection du connecteur, sélectionnez l’option Base de données PostgreSQL.

  2. Dans la boîte de dialogue Base de données PostgreSQL qui s’affiche, indiquez le nom du serveur et la base de données.

    Constructeur de connexion PostgreSQL dans Power Query Online.

  3. Sélectionnez le nom de la passerelle de données locale que vous souhaitez utiliser.

  4. Sélectionnez le genre d’authentification de Base et entrez vos informations d’identification PostgreSQL dans les zones Nom d’utilisateur et Mot de passe.

  5. Si votre connexion n’est pas chiffrée, désactivez Utiliser la connexion chiffrée.

  6. Sélectionnez Suivant pour vous connecter à la base de données.

  7. Dans Navigateur, choisissez les données dont vous avez besoin, puis sélectionnez Transformer les données pour transformer les données dans l’Éditeur Power Query.

Se connecter à l’aide d’options avancées

Power Query Desktop fournit un ensemble d’options avancées que vous pouvez ajouter à votre requête si nécessaire.

 Options avancées comprises dans la boîte de dialogue de connexion PostgreSQL.

Le tableau suivant répertorie toutes les options avancées que vous pouvez définir dans Power Query Desktop.

Option avancée Description
Délai de commande en minutes Si votre connexion dure plus de 10 minutes (délai d’expiration par défaut), vous pouvez entrer une autre valeur en minutes pour garder la connexion ouverte plus longtemps. Cette option n’est disponible que dans Power Query Desktop.
Instruction SQL Pour plus d’informations, consultez Importer des données à partir d’une base de données à l’aide d’une requête de base de données native.
Inclure des colonnes de relation Si cette option est activée, elle inclut des colonnes qui peuvent avoir des relations avec d’autres tables. Si elle est désactivée, vous ne verrez pas ces colonnes.
Naviguer avec la hiérarchie complète Si cette option est activée, le navigateur affiche la hiérarchie complète des tables dans la base de données à laquelle vous vous connectez. Si elle est désactivée, le navigateur affiche uniquement les tables dont les colonnes et les lignes contiennent des données.

Une fois que vous avez sélectionné les options avancées dont vous avez besoin, sélectionnez OK dans Power Query Desktop pour vous connecter à votre base de données PostgreSQL.

Query Folding natif

Par défaut, le Query Folding natif est activé. Les opérations capables de se replier seront appliquées au-dessus de votre requête native en fonction de la logique d’importation normale ou de requête directe. Le Query Folding natif n’est pas applicable avec des paramètres facultatifs présents dans Value.NativeQuery().

Dans les rares cas où le repli ne fonctionne pas avec le Query Folding natif activé, vous pouvez le désactiver. Pour désactiver le Query Folding natif, définissez l’indicateur EnableFoldingfalse sur value.NativeQuery() dans l’éditeur avancé.

Exemple : Value.NativeQuery(target as any, query, null, [EnableFolding=false])

Dépannage

Votre requête native peut lever l’erreur suivante :

We cannot fold on top of this native query. Please modify the native query or remove the 'EnableFolding' option.

Une étape de résolution des problèmes de base consiste à vérifier si la requête dans Value.NativeQuery() lève la même erreur avec une limit 1 clause autour de celle-ci :

select * from (query) _ limit 1