PostgreSQL 徽标

关系引擎

连接 PostgreSQL 适用于 Excel、Google Sheets、AI 和 REST

用于复杂查询和 ACID 事务的开源关系数据库。支持直接连接、连接池连接,或使用 27 种共享此网络协议的托管 Postgres 卡中的任何一种。

一个连接,每个表面

您的 PostgreSQL 数据可以放在哪里

Query Streams 可以从 Microsoft Excel、Google Sheets、Power BI、通过 MCP 的 AI 助手以及 REST 端点实时读取 PostgreSQL 数据库的 SQL 语句。自托管代理程序通过 5432 端口从您的网络内部连接——无需入站端口、VPN 或 IP 地址白名单——并且仅凭主机名即可识别 27 个托管的 Postgres 服务,因此在您实际访问这些服务之前,TLS 和连接池设置(其他工具可能会遇到的问题)就已经自动应用。数据库密码保留在您安装代理程序的计算机上。

  1. 为您的团队、供应商和合作伙伴
  2. PostgreSQL 到 Excel 微软 Excel · Excel 加载项

    将实时 PostgreSQL 结果直接拉取到工作表中,并按需刷新——桌面版 Excel、Excel Online、Microsoft 365。

    PostgreSQL 指南
  3. 将 PostgreSQL 转换为 Google Sheets 表格插件

    从侧边栏运行已保存的 PostgreSQL 查询,并将结果行拖放到工作表中。共享协作者可以自行刷新工作表。

    PostgreSQL 指南
  4. 向 Nova 咨询 PostgreSQL 相关事宜。 Nova AI · 文本转 SQL

    用简单的英语提问。Nova 已经了解你的 PostgreSQL 表,会自动编写并运行 SQL 语句,解释结果并绘制图表——无需编写查询语句,也无需提供任何凭据。

    Nova 的工作原理
  5. PostgreSQL 到数据查看器 结果共享 · 团队、供应商、合作伙伴 · 手机、平板电脑、台式机

    您可以与任何人(同事、供应商、合作伙伴)共享实时 PostgreSQL 查询结果,将其以可收藏的网格形式呈现,无论在手机、平板电脑还是台式机上打开,都能立即重新运行。他们看到的是查询结果,而不会看到 SQL 代码或凭据。

    数据查看器的工作原理
  6. 对于应用程序和系统
  7. PostgreSQL REST API HTTP 端点

    将 PostgreSQL 查询发布为任何应用程序都可以调用的已认证 JSON 端点,符合 OpenAPI 3.1 规范,并已预置 Postman、Insomnia 和 Hoppscotch 集合。无需打开数据库端口。

    PostgreSQL 指南
  8. PostgreSQL 到 Power BI Power Query M

    将生成的 Power Query M 粘贴到 Power BI 高级编辑器中,报表即可通过 HTTPS 读取实时 PostgreSQL 结果——无需 ODBC 驱动程序,也无需打开数据库端口。

    Power BI 的工作原理
  9. PostgreSQL 到 Airtable 自动化平台

    按计划将 PostgreSQL 行同步到 Airtable,或者在 Airtable 自动化脚本中获取它们。

    PostgreSQL 指南
  10. PostgreSQL 到 Baserow 自动化平台

    通过 REST 端点从 PostgreSQL 向 Baserow 表提供数据——无论是自托管还是 Baserow 云。

    PostgreSQL 指南
  11. PostgreSQL 到 SeaTable 自动化平台

    无需导出文件或暴露数据库,即可使用 PostgreSQL 数据保持 SeaTable 数据库的最新状态。

    PostgreSQL 指南
  12. PostgreSQL 到 Smartsheet 自动化平台

    将 PostgreSQL 结果推送到 Smartsheet 网格中,以便计划和报告从源系统读取数据,而不是从上周的导出数据读取数据。

    PostgreSQL 指南
  13. PostgreSQL 到 Anvil Anvil Works · 应用平台

    使用 REST 端点将 Anvil Python 应用程序与 PostgreSQL 连接起来,而不是将数据库凭据嵌入到应用程序中。

    PostgreSQL 指南
  14. 人工智能工具
  15. PostgreSQL MCP 服务器 Claude、Cursor 和 MCP 客户端

    赋予 AI 助手对 PostgreSQL 的只读访问权限,并提供它编写正确 SQL 所需的架构——聊天中不包含凭据。

    PostgreSQL 指南
  16. 已送达
  17. PostgreSQL 警报和报告 Slack · Discord · 电子邮件 · Webhook

    将 PostgreSQL 查询添加到计划中,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的界限时才发送消息。

    警报和报告的工作原理

工作原理

5 个步骤,无需更改入站防火墙规则

01

将网络代理安装在可以访问数据库的机器上。它会拨号连接到我们;Postgres 的任何信息都不会暴露在互联网上。

02

粘贴提供商提供的连接字符串,或者自己输入主机、端口、数据库、用户和密码——postgresql:// URI 会自动拆分成各个字段。

03

如果主机属于代理识别的服务,则 TLS 将被启用,并且无需您进行任何选择即可应用正确的池化器行为。

04

选择值得公开的模式。您选择的模式将与 search_path 一起应用于每个查询,因此非限定表名的解析方式与 psql 中的完全相同。

05

保存查询,然后从 Excel、Sheets、Power BI、MCP、Nova 或 REST 中读取它,并将其交给其他人,而无需交出 SQL。

专题深度解析

PostgreSQL 能给你带来什么

它已经知道你的 Postgres 主机

托管型 Postgres 连接失败的情况最为普遍,而且几乎从来都不是密码问题。原因可能是端口连接池占用了某个未公开的端口,或者服务提供商要求启用 TLS 但客户端却未启用。代理程序维护着一个包含 27 个托管 Postgres 服务的表,并根据主机名进行匹配,因此这些匹配决策实际上已经完成。

  • TLS 是强制执行的,而非自愿提供的。 — 如果主机与已知提供商匹配,则无论是否勾选该框,连接都会加密。
  • 预计会出现一些奇怪的端口。 — Crunchy 的端口为 5431,Azure 和 PlanetScale 的端口为 6432,DigitalOcean 的端口为 25061,Supabase 的事务池的端口为 6543。
  • 交易池由交易池处理 — PgBouncer 和 Supavisor 在事务模式下会中断预处理语句。检测到中断时,代理会关闭语句缓存并重置连接,而不是在报表处理过程中失败。
  • Neon 的池化端点(主机名中间带有 -pooler)被识别为与直接端点相同的数据库。

数字在旅途中幸存下来

一款报表工具如果悄悄地将精确数字转换为浮点数,比拒绝转换的工具更糟糕,因为你会在年底发现问题。PostgreSQL 允许你声明一个完全没有精度的数值,而这个值没有安全的浮点数可以转换。

  • 未声明精度的数值将无损地传递,而不是四舍五入为双精度浮点数。
  • 那么,数字的宽度是否超过 28 位呢? — 超出固定小数位数范围的数字,将保留精确的数字。
  • json 和 jsonb 以可解析的文本形式到达,uuid 以其小写规范形式到达,interval 以 ISO-8601 持续时间到达。
  • 数组和复合类型会以文本形式显示,而不是从结果中删除。

过滤器保持参数

当筛选条件包含大量值时(例如四十个产品代码或地区列表),大多数工具会将这些值以文本形式粘贴到 SQL 语句中。而 Query Streams 会将整个列表绑定为一个 PostgreSQL 数组参数,因此无论读取器选择了多少个值,数据库每次看到的语句都相同。

-- 一个 @variable,任意数量的值,一条预处理语句 SELECT region, COUNT(*) AS orders, SUM(total) AS revenue FROM orders WHERE status = ANY(@statuses) AND placement_at >= @since GROUP BY region ORDER BY revenue DESC

每个数据库连接器共享

适用于所有数据库连接器

  • 仅限出站 — 代理程序会打开一个加密连接到查询流。无需转发入站端口,无需 VPN,无需 IP 允许列表,您的数据库信息不会暴露在互联网上。
  • 凭证保留 — 数据库用户名和密码存储在您安装代理的计算机上。Query Streams 永远不会收到这些信息,也无法自行访问您的数据库。
  • 只读,强制执行 ——一次只执行一条语句,仅限 SELECT 及其相关语句。写入操作会在发送到服务器之前就被本地机器拒绝,而不是依赖于其他人设置的权限。
  • 部署任意数量的代理 每个站点、区域或云端只需一个代理。所有数据源都显示在同一个下拉菜单中,因此无需了解哪个代理托管哪些数据源。

查询保存后您将获得什么?

  • 分享的是能力,而不是 SQL — 同事或外部合作伙伴可以运行您的查询并更改其筛选条件,而无需查看其背后的语句。
  • 双向过滤 — 您可以自己将它们声明为 @variables,或者让连接器发现 WHERE 子句中已有的字面值,并将其作为下拉列表提供。
  • 随时随地阅读 — Microsoft Excel、Google Sheets、Power BI、REST API、MCP 上的 AI 助手、查询生成器和 Nova 都读取同一个已保存的查询。
  • 同时运行多个程序 — 将五个已保存的查询分别保存到五个工作表标签中,同时进行流式传输,无论结果有多大。
  • 将其连接到您已连接的任何其他内容 — 用一条只读语句访问另一个数据库、业务 API 或文件文件夹。

跨源 SQL

将 PostgreSQL 与其他数据连接起来

一条语句可以同时跨越 PostgreSQL 和其他连接。每个数据源只运行它能够执行的部分,并将结果流式传输回来,连接操作则在中心位置集中执行——各个数据源之间互不通信,也不会复制任何数据。

3 个连接 · 3 个代理

PostgreSQL 关系引擎
微软 SQL 服务器 关系引擎
条纹 付款与账单

一份声明

——没有任何复制、合并或安排操作。
选择   c.region,COUNT(*) AS orders,SUM(i.amount_due) AS invoiced
从     pg_reporting.公共.订单1 f
连接     ERP SQL.dbo.customers2      c ON c.id = f.customer_id
连接     计费.stripe.invoices3    i ON i.customer = c.stripe_id
GROUP BY c.区域
ORDER BY 发票上的描述;

这三个部分分别是连接、模式和表——连接名称就是你给它起的任何名字。这里用列举例说明;你的表就是你自己的表。所有部分都采用只读模式:仅支持 SELECT、WITH 和 EXPLAIN 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理

连接详情

PostgreSQL 需要什么

港口
默认端口为 5432,可接受任何端口——已识别主机上的池化端口已知。
加密
TLS 默认启用(sslmode=require),并且无论 27 家已识别的托管服务提供商的设置如何,都会强制启用。
凭据
数据库用户名和密码保存在代理服务器上。查询流永远不会收到它们。
司机
Npgsql 9.0.3 已与代理程序捆绑在一起——无需在数据库服务器或客户端上安装任何软件。
模式
除非您选择其他路径,否则该路径是公开的;您选择的路径将与 search_path 一起应用于每个查询。
确切数字
未声明精度或宽度超过 28 位的数值将以无损方式传输,而不是进行四舍五入。
池化
开启。已检测到交易模式池(PgBouncer、Supavisor),并已绕过其预处理语句限制。
暂停
连接耗时 30 秒,流媒体播放期间每条语句的提交耗时 30 秒。
只读
在将声明发送到服务器之前,会在您自己的计算机上强制执行。

不会复制任何数据。代理程序会直接在实时数据库中运行您的 SELECT 查询,并将数据行直接传输到电子表格中,因此电子表格中显示的数据是数据库当前时刻的数据,而不是隔夜提取的数据。这样就不会出现中间仓库延迟或错过预定时间的情况。

一个代理可以服务于多个数据库,您可以根据部署空间运行任意数量的代理——例如,办公室里一个,每个云区域一个。所有可访问的数据源都会显示在同一个下拉列表中,因此编写查询的人员无需知道是哪台机器在执行访问操作。

供应商文档: www.postgresql.org

常问问题

关于 PostgreSQL 的问题

哪些工具可以通过查询流读取PostgreSQL数据?

所有这些工具,只需一次连接即可使用:Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、定时提醒和报表。只需连接一次数据库,所有平台都使用同一个只读连接——无需为每个工具单独设置,也无需创建数据副本。

我是否需要为我的PostgreSQL数据库打开防火墙端口?

不。Query Streams 网络代理运行在您的网络内部,并打开一个单独的出站加密连接。它不会监听入站流量,无需 VPN,数据库也会保留其现有的防火墙规则。

查询流可以更改 PostgreSQL 中的数据吗?

不。代理在执行时强制执行只读模式——一次只执行一条语句,仅限 SELECT 及其相关语句。凭据保留在代理上,绝不会发送到查询流。

Query Streams 需要什么才能连接到 PostgreSQL?

一个可访问的主机、一个角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何软件。端口:默认为 5432,可接受任何端口——已识别主机上的连接池端口已知。加密:默认启用 TLS(sslmode=require),并且无论 27 个已识别托管提供商的设置如何,均强制启用。凭据:数据库用户名和密码,保存在代理程序中。查询流永远不会接收到这些信息。驱动程序:Npgsql 9.0.3,与代理程序捆绑在一起——无需在数据库服务器或客户端上安装任何软件。

我可以在同一个查询中将PostgreSQL与其他数据库连接起来吗?

是的——这就是联合查询。一条语句可以同时引用 PostgreSQL 和其他连接,格式为 connection.schema.table。每个数据源只运行它能够执行的部分,并将结果流式传输回来;连接操作在中心进行,因此数据源之间不会相互连接,也不会进行任何复制或调度。所有部分(SELECT、WITH 和 EXPLAIN)都采用只读模式,并且单个数据源在单次查询中可以传输的数据量有限制。联合查询是计划功能;联合查询页面会显示当前的数据源和大小限制。

将 PostgreSQL 部署在实际工作的地方

安装代理,将其指向您的数据库,然后选择目标位置。

只读 仅限出站 凭证保留在代理人身上。