PostgreSQL

概要

DESCRIPTION
发布状态 一般可用性
产品 Excel
Power BI (语义模型)
Power BI (数据流)
Fabric(Dataflow Gen2)
Power Apps(数据流)
Dynamics 365 Customer Insights
分析服务
支持的身份验证类型 数据库(用户名/密码)
功能参考文档 PostgreSQL.Database

注释

由于部署计划和主机特定功能的缘故,某些功能可能在一个产品中存在,而在其他产品中不存在。

先决条件

自 2019 年 12 月起,Power BI Desktop 已包含用于 PostgreSQL 连接器的 Npgsql 提供程序,无需进行其他安装。 从 2024 年 10 月版本开始,它包含 Npgsql 版本 4.0.17。 单独的 Npgsql GAC 安装将替代此默认版本。

PostgreSQL 连接器支持云连接,并可通过 VNet 数据网关或本地数据网关实现连接。 自 2025 年 6 月发布以来,本地数据网关包括 Npgsql 提供程序,因此无需额外安装。 单独的 Npgsql GAC 安装将替代此默认版本。

对于 2019 年 12 月之前发布的 Power BI Desktop 版本和 2025 年 6 月之前发布的本地数据网关,必须在本地计算机上安装 Npgsql 提供程序才能使用 PostgreSQL 连接器。 若要安装 Npgsql 提供程序,请转到版本 4.0.17 的发布页 ,下载并运行 .msi 文件。 提供程序体系结构(32 位或 64 位)需要与要使用的连接器的产品体系结构相匹配。 安装时,请确保选择 Npgsql GAC 安装,以确保将 Npgsql 本身添加到计算机。 由于 .NET 版本不兼容,不支持 Npgsql 4.1 及最新版本。

屏幕截图显示了 Npgsql 安装程序,其中选择了 GAC 安装。

支持的功能

  • 进口
  • DirectQuery (Power BI 语义模型)
  • 高级选项
    • 命令超时(分钟)
    • 本机 SQL 语句
    • 关系列
    • 使用完整层次结构导航

从 Power Query Desktop 连接到 PostgreSQL 数据库

安装匹配的 Npgsql 提供程序后,可以连接到 PostgreSQL 数据库。 若要建立连接,请执行以下步骤:

  1. 在连接器选项中选择“PostgreSQL 数据库”选项。 有关详细信息,请访问 何处获取数据

  2. 在显示的 PostgreSQL 数据库 对话框中,提供服务器和数据库的名称。

    Power BI 中 PostgreSQL 连接生成器的屏幕截图。

  3. 选择 “导入 ”或“ DirectQuery 数据连接”模式。

  4. 如果第一次连接到此数据库,请在数据库身份验证类型的“用户名和密码”框中输入 PostgreSQL 凭据。 选择要向其应用身份验证设置的级别。 然后选择连接

    在其中输入 PostgreSQL 用户名和密码的身份验证对话框的屏幕截图。

    有关使用身份验证方法的详细信息,请转到 使用数据源进行身份验证

  5. 如果未加密连接,系统会提示你输入以下消息。

    Azure SQL 数据库加密支持对话框的屏幕截图。

    选择 “确定 ”以使用未加密的连接连接到数据库,或按照 “启用与数据库引擎的加密连接 ”中的说明设置到 PostgreSQL 数据库的加密连接。

  6. 导航器中,选择所需的数据库信息,然后选择“ 加载 ”以加载数据或 转换数据 以继续在 Power Query 编辑器中转换数据。

    Power Query Desktop 导航器的屏幕截图,其中显示了 PostgreSQL 数据库中的人力资源员工数据。

从 Power Query Online 连接到 PostgreSQL 数据库

若要建立连接,请执行以下步骤:

  1. 在连接器选项中选择“PostgreSQL 数据库”选项。 有关详细信息,请访问 何处获取数据

  2. 在显示的 PostgreSQL 数据库 对话框中,提供服务器和数据库的名称。

    Power Query Online 中的 PostgreSQL 连接生成器。

  3. 选择要使用的本地数据网关的名称。

  4. “用户名和密码”框中选择基本身份验证类型并输入 PostgreSQL 凭据。

  5. 如果你的连接未加密,请取消选择“使用加密的连接”。

  6. 选择“下一步”以连接到数据库。

  7. 导航器中,选择所需的数据,然后选择 转换数据 以在 Power Query 编辑器中转换数据。

使用高级选项进行连接

Power Query Desktop 提供了一组高级选项,你可以根据需要将其添加到查询中。

PostgreSQL 连接对话框中包含的高级选项的屏幕截图。

下表列出了可在 Power Query Desktop 中设置的所有高级选项。

高级选项 DESCRIPTION
命令超时(分钟) 如果连接持续时间超过 10 分钟(默认超时),则可以输入另一个值(以分钟为单位),使连接保持打开时间更长。 此选项仅在 Power Query Desktop 中可用。
SQL 语句 有关信息,请参阅使用本机数据库查询从数据库导入数据
包含关系列 如果选中,则包含可能与其他表格有关系的列。 如果清除此框,则不显示这些列。
使用完整层次结构导航 如果选中,导航器会显示你连接到的数据库中表的完整层次结构。 如果清空,导航器仅显示那些列和行中包含数据的表格。

选择所需的高级选项后,请在 Power Query Desktop 中选择 “确定 ”以连接到 PostgreSQL 数据库。

本机查询折叠

默认情况下,启用本机查询折叠功能。 能够实现折叠的操作会根据正常的导入或直接查询逻辑,应用于本机查询之上。 在 Value.NativeQuery 中有可选参数时,本机查询折叠不适用。

在极少数情况下,如果启用本地查询折叠后折叠不起作用,可以禁用它。 若要禁用本机查询折叠,请在高级编辑器中将 EnableFoldingfalse 标志设置为

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

故障排除

本机查询可能会引发以下错误:

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

基本故障排除步骤是检查 Value.NativeQuery 中的查询是否引发 limit 1 与子句相同的错误:

select * from (query) _ limit 1