如何使用本地 PostgreSQL 和 Aiven 将 PostgreSQL 连接到 Power BI
Source: Dev.to
Power BI 并未默认提供原生的 PostgreSQL 连接器——但通过正确的配置,它可以成为一个简洁、可靠的分析管道。
在本指南中,你将学习如何将 Power BI 连接到:
- 本机运行的 PostgreSQL
- Aiven 托管的 PostgreSQL(完全托管的云服务)
你将看到所需的配置步骤、驱动程序、连接设置以及需要避免的常见错误。此教程基于 Windows + DBeaver + PostgreSQL + Power BI Desktop 构建。

前置条件
- 已在本地安装 PostgreSQL – Windows 安装程序:
- 已安装 Power BI Desktop – Microsoft Store 或下载页面
- Npgsql .NET 数据提供程序 – Power BI 与 PostgreSQL 通信所必需。下载 MSI,安装后重启 Power BI。
- DBeaver(可选但推荐) – 用于导入和管理 PostgreSQL 数据。
第 1 部分 — 将本地 PostgreSQL 连接到 Power BI
步骤 1:收集 PostgreSQL 连接信息
打开 pgAdmin 或 DBeaver 并确认:
- 主机:
localhost - 端口:
5432 - 数据库名称(例如
healthcare_db) - 用户名(例如
postgres) - 密码:本地数据库密码
步骤 2:安装 Npgsql 提供程序
- 下载提供程序。
- 安装 MSI。
- 重启计算机(重要)。
- 重新打开 Power BI。
步骤 3:在 Power BI 中连接
Home → Get Data → More
Search “PostgreSQL”
Select “PostgreSQL Database”
输入数据库凭据并点击 OK。
步骤 4:允许本机数据库查询
如果 Power BI 提示 Allow Native Queries?,点击 Run。你的表将在 Navigator 窗口中出现。选择所需的表(例如 patients、doctors、appointments、bills)并点击 Load。
第 2 部分 — 将 Aiven PostgreSQL 连接到 Power BI
Aiven 是一个使用 SSL 证书的云托管 PostgreSQL 提供商。
步骤 1:登录 Aiven
前往 Aiven 控制台并打开你的 PostgreSQL 服务。
步骤 2:下载 SSL 证书
在服务仪表板中:Service Settings → Connection Information → SSL → Download CA Certificate。将 .crt 文件保存到安全位置。
步骤 3:定位 Aiven 连接字符串
Aiven 在控制台中提供这些细节。拆解如下:
- 主机:
pg-yourproject.aivencloud.com - 端口:
XXXXX - 用户:
avnadmin - 密码:你的生成密码
- 数据库:
defaultdb - SSL:必需
步骤 4:在 Power BI 中连接 Aiven
-
Home → Get Data → PostgreSQL
-
在连接对话框中,展开 Advanced Options 并在 Additional connection string parameters 中粘贴以下内容(根据需要调整):
SSL Mode=Require;Trust Server Certificate=True; -
点击 OK,随后输入 Aiven 的用户名和密码。
常见错误排查
| 错误 | 解决方案 |
|---|---|
| “We couldn’t authenticate using the credentials provided.”(无法使用提供的凭据进行身份验证。) | 核实用户名和密码;确保没有多余空格。 |
| “The Npgsql Provider is not installed.”(未安装 Npgsql 提供程序。) | 重新安装 Npgsql 驱动并重启 Power BI。 |
| “Certificate not trusted.”(证书不受信任。) | 在连接字符串中添加 Trust Server Certificate=True 或 将 Aiven CA 证书导入 Windows 证书存储。 |
进阶章节 — 使用 DBeaver 将 CSV 文件导入 PostgreSQL
- DBeaver → 右键单击模式(例如
hospital) → Import Data - 选择 CSV,勾选 Header,将分隔符设为
,。 - 映射列;将列名改为小写 snake_case(最佳实践)。
- 启用 Use Bulk Load,完成导入。
最终输出 — Power BI 仪表盘
连接成功后(本地或 Aiven),你可以构建如下可视化:
- 预约趋势线
- 总账单:已付 vs. 未付
- 医生工作负载分布
- 患者人口统计分布
- 每次入院的计费情况
- 专业科室绩效
结语
将 PostgreSQL 连接到 Power BI 是一项核心的数据工程技能。
- 本地 PostgreSQL 教会你基础——驱动、端口、凭据、模式。
- Aiven PostgreSQL 教会你真实的云连接处理——SSL、端口、证书以及连接字符串。
掌握两者后,你即可在本地 → 云端工作流之间自由切换,这正是现代分析管道的运作方式。