Partager via


PostgreSQL

Résumé

Élément Descriptif
État de publication Disponibilité générale
Produits Excel
Power BI (modèles sémantiques)
Power BI (Flux de données)
Fabric (Dataflow Gen2)
PowerApps (Flux de données)
Dynamics 365 Customer Insights
Services d'analyse (Analysis Services)
Types d’authentification pris en charge Base de données (nom d’utilisateur/mot de passe)
Documentation de référence sur les fonctions Base de données PostgreSQL

Remarque

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

Conditions préalables

Power BI Desktop a inclus le fournisseur Npgsql pour le connecteur PostgreSQL depuis décembre 2019, ce qui élimine la nécessité d’une installation supplémentaire. À compter de la version d’octobre 2024, elle intègre Npgsql version 4.0.17. L’installation distincte du GAC Npgsql remplace cette version par défaut.

Le connecteur PostgreSQL est pris en charge pour la connexion au cloud ainsi que via la passerelle de données réseau virtuel ou la passerelle de données sur site. Depuis la version de juin 2025, la passerelle de données locale inclut le fournisseur Npgsql. Par conséquent, aucune installation supplémentaire n’est nécessaire. L’installation distincte du GAC Npgsql remplace cette version par défaut.

Pour les versions de Power BI Desktop publiées avant décembre 2019 et la passerelle de données locale publiée avant juin 2025, vous devez installer le fournisseur Npgsql sur votre ordinateur local pour utiliser le connecteur PostgreSQL. Pour installer le fournisseur Npgsql, accédez à la page des versions de la version 4.0.17, téléchargez et exécutez le fichier .msi. L’architecture du fournisseur (32 bits ou 64 bits) doit correspondre à l’architecture du produit dans laquelle vous envisagez d’utiliser le connecteur. Lors de l’installation, veillez à sélectionner L’installation du GAC Npgsql pour vous assurer que Npgsql lui-même est ajouté à votre ordinateur. Npgsql 4.1 et versions ultérieures ne sont pas pris en charge en raison d’incompatibilités de version .NET.

Capture d’écran du programme d’installation de Npgsql avec l’installation du GAC sélectionnée.

Fonctionnalités prises en charge

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

Se connecter à une 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, procédez comme suit :

  1. Sélectionnez l’option base de données PostgreSQL dans la sélection du connecteur. Pour plus d’informations, accédez à Où obtenir des données.

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

    Capture d’écran du générateur de connexions PostgreSQL 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 de base de données . Sélectionnez le niveau pour appliquer les paramètres d’authentification. Sélectionnez ensuite Se connecter.

    Capture d’écran de la boîte de dialogue d’authentification dans laquelle vous entrez votre nom d’utilisateur et votre mot de passe PostgreSQL.

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

  5. Si la connexion n’est pas chiffrée, vous êtes invité à envoyer le message suivant.

    Capture d’écran de la boîte de dialogue de prise en charge du chiffrement de base 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 de Activer les connexions chiffrées au moteur de base de données pour configurer des connexions chiffrées à la base de données PostgreSQL.

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

    Capture d’écran du navigateur Power Query Desktop montrant les données des employés des ressources humaines dans la base de données PostgreSQL.

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

Pour établir la connexion, procédez comme suit :

  1. Sélectionnez l’option base de données PostgreSQL dans la sélection du connecteur. Pour plus d’informations, accédez à Où obtenir des données.

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

    générateur de connexions 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 type 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 Next pour vous connecter à la base de données.

  7. Dans navigateur, sélectionnez les données dont vous avez besoin, puis transformez 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.

Capture d’écran des options avancées incluses dans la boîte de dialogue connexion PostgreSQL.

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

Option avancée Descriptif
Délai d’expiration de la commande en minutes Si votre connexion dure plus de 10 minutes (délai d’attente par défaut), vous pouvez entrer une autre valeur en minutes pour que la connexion reste ouverte plus longtemps. Cette option est disponible uniquement dans Power Query Desktop.
Instruction SQL Pour plus d’informations, accédez à Importer des données à partir d’une base de données à l’aide de la requête de base de données native.
Inclure des colonnes de relation Si cette option est cochée, inclut des colonnes qui peuvent avoir des relations avec d’autres tables. Si cette zone est désactivée, ces colonnes ne sont pas affichées.
Naviguer à l’aide de la hiérarchie complète Si cette option est cochée, le navigateur affiche la hiérarchie complète des tables dans la base de données à laquelle vous vous connectez. S’il est effacé, 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 pliage de requête natif est activé. Les opérations capables de se plier sont appliquées sur votre requête native en fonction de la logique d’importation normale ou de requête directe. Le pliage de requête native n’est pas applicable avec les paramètres facultatifs présents dans Value.NativeQuery.

Dans les rares cas où le pliage ne fonctionne pas avec le pliage de requête natif activé, vous pouvez le désactiver. Pour désactiver le pliage des requêtes natives, définissez l'indicateur EnableFolding sur false pour Value.NativeQuery dans l'éditeur avancé.

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

Dépannage

Votre requête native peut générer 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 clause limit 1 autour de celle-ci :

select * from (query) _ limit 1