Supabase 标志

托管式 Postgres

连接 苏帕巴 适用于 Excel、Google Sheets、AI 和 REST

Supabase Postgres,可以直接使用,也可以通过 Supavisor 池化器使用。这是一张一流的卡——不仅仅是“多了些步骤的 Postgres”。

一个连接,每个表面

您的Supabase数据可以去哪里

Query Streams 可以从 Microsoft Excel、Google Sheets、Power BI、通过 MCP 连接的 AI 助手以及 REST 端点读取 Supabase 项目中的实时 SQL 数据。只需粘贴 Supabase 控制面板中的字符串,即可从中读取主机、端口、数据库和角色信息。它支持所有三种连接模式——直接连接、会话池连接和事务池连接——并强制所有 Supabase 主机启用 TLS 加密,同时隐藏平台自身的架构,因此您浏览的是数据库表,而不是身份验证、存储和实时数据。

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

    将 Supabase 的实时结果直接导入工作表,并可根据需要进行刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。

    PostgreSQL 指南
  3. Supabase 到 Google Sheets 表格插件

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

    PostgreSQL 指南
  4. 向 Nova 询问有关 Supabase 的信息 Nova AI · 文本转 SQL

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

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

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

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

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

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

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

    Power BI 的工作原理
  9. Supabase 转 Airtable 自动化平台

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

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

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

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

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

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

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

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

    通过 REST 端点将 Supabase 数据库备份到 Anvil Python 应用程序,而不是将数据库凭据嵌入到应用程序中。

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

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

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

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

    警报和报告的工作原理

工作原理

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

01

将网络代理安装到任何支持出站 HTTPS 的地方——Supabase 是一个公共端点,因此不需要入站规则和允许列表。

02

从 Supabase 控制面板复制连接字符串并粘贴。系统会读取其中的主机、端口、数据库和角色信息;字符串本身不会被保存。

03

选择模式。会话池是默认设置,也是此处的正确答案,因为代理会保持一个长期连接。

04

保存。系统会读取您的表;Supabase 自身的平台模式不会包含在列表中,因此选择器中不会出现您未编写的内容。

05

您可以编写只读 SQL,也可以让 Nova 编写。您可以从 Excel、Sheets、Power BI、MCP 或 REST 中读取已保存的查询。

专题深度解析

Supabase 能给你带来什么

三种进入方式,该选哪一种?

Supabase 提供直接连接和两个连接池端点,而选择哪个端点比看起来更重要。代理程序会根据主机和端口识别您指定的端点,并进行相应的调整。

  • 会话池 — 连接到 pooler.supabase.com 主机上的 5432 端口。这是默认设置,也是推荐设置,因为会话模式下的连接池正是用于建立长时间连接。
  • 交易池 — 端口 6543。已识别并调整:会话在关闭时不会重置,并且服务器端预处理语句会被关闭,因为事务池会在语句之间重新分配后端,而预处理语句不会保留。
  • 直接的 — 位于 db.<project>.supabase.co 主机上的 5432 端口。需要注意的是,除非您购买了 IPv4 附加组件,否则 Supabase 仅通过 IPv6 提供服务。如果代理的网络仅支持 IPv4,则连接会失败,并且错误信息会提示您使用会话池,而不是让您自行猜测。
  • 它们之间的用户名形状各不相同。 — 连接池需要 postgres.<project-ref>,直接连接需要普通的 postgres — 而且这是在您输入时检查的,而不是在第一次查询时检查的。

你的架构,而不是 Supabase 的底层机制

Supabase 项目在其自身的 schema 中包含大量机制。如果不加以处理,这些机制会淹没表选择器,使其无法处理任何无人愿意报告的内容。

  • auth、storage、realtime、supabase_functions、supabase_migrations、pgbouncer 和其他内容在 Supabase 主机上是隐藏的。
  • 过滤键会从主机端移除,所以即使是你的普通 Postgres 服务器,如果恰好有一个名为 auth 的模式,也会保留这些信息。对于非 Supabase 数据库来说,任何信息都是公开的。
  • public 仍然是默认模式,跨源查询将其用作中间部分。

当密码被拒绝时

Supabase 最常见的设置失败原因令人困惑:控制面板登录名和数据库密码是两回事,而此次失败需要的是后者。当 Postgres 拒绝凭据时,代理程序会指出您可能持有的是哪一个,而不是直接传递原始错误信息。

-- supabase_app 是连接,public 是 Postgres 模式 SELECT p.plan, COUNT(*) AS accounts FROM supabase_app.public.profiles p JOIN stripe.stripe.subscriptions s ON s.customer_id = p.stripe_id WHERE s.status = 'active' GROUP BY p.plan

每个数据库连接器共享

适用于所有数据库连接器

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

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

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

跨源 SQL

将 Supabase 与您的其他数据连接起来

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

3 个连接 · 3 个代理

苏帕巴 托管式 Postgres
微软 SQL 服务器 关系引擎
条纹 付款与账单

一份声明

——没有任何复制、合并或安排操作。
选择   c.region,COUNT(*) AS orders,SUM(i.amount_due) AS invoiced
从     supabase_app.公共.订单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 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理

连接详情

Supabase需要什么

港口
5432 用于直接连接和会话池,6543 用于交易池。
TLS
对于任何 .supabase.co 或 .pooler.supabase.com 主机,代理程序都会强制执行此操作——即使粘贴的字符串丢失了 SSL 模式,仍然会建立加密连接。
数据库
除非你重命名了它,否则它就是postgres。
角色
需要的是数据库角色及其数据库密码,而不是控制面板登录名。应该使用仅具有 SELECT 权限的角色。
用户名形状
在连接池主机上使用 postgres.<project-ref>,在直接主机上使用纯 postgres。正在输入时进行检查。
司机
代理程序自带 Npgsql 9.0.3,Supabase 端无需安装任何软件。
直接主机
除非您安装了 IPv4 附加组件,否则仅支持 IPv6。会话池可以通过 IPv6 访问。无论使用哪种方式,会话池都可以访问。
隐藏模式
身份验证、存储、实时、supabase_functions、supabase_migrations、pgbouncer 及其他相关功能——仅限 Supabase 主机。
只读
在声明发送给 Supabase 之前,对代理人强制执行此操作。

仅授予 SELECT 权限即可——Supabase 底层是普通的 Postgres,因此,GRANT SELECT ON ALL TABLES IN SCHEMA public 加上 ALTER DEFAULT PRIVILEGES 即可覆盖之后添加的表。无论是否授予此权限,代理都会在语句到达 Supabase 之前拒绝任何非读取操作。

行级安全性仍然适用。连接会根据您赋予的角色进行读取,因此,如果您的策略限制了该角色可以查看的内容,则已保存的查询将看到相同的子集——这是一种合理地限定报表连接范围的方法。

在跨源查询中,三部分引用的中间部分是公开的,即 Postgres 模式。名为 supabase_app 的连接写法为 supabase_app.public.profiles。

供应商文档: supabase.com

常问问题

关于 Supabase 的问题

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

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

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

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

查询流能否更改 Supabase 中的数据?

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

Query Streams 需要连接到 Supabase 的什么组件?

一个可访问的主机、一个角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。端口:5432 用于直接连接和会话池,6543 用于事务池。TLS:必需,代理程序会强制所有 .supabase.co 或 .pooler.supabase.com 主机使用 TLS——即使粘贴的字符串丢失了 SSL 模式,连接仍然会加密。数据库:PostgreSQL,除非您已重命名。角色:数据库角色及其数据库密码——而不是控制面板登录密码。请使用仅具有 SELECT 权限的角色。

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

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

是否有Supabase到Excel的转换指南?

是的——这是 PostgreSQL 指南,而且就 Supabase 而言,它的内容也完全正确。Supabase 使用 PostgreSQL 的网络协议,因此 Supabase 连接到 Excel、Google Sheets 以及其他任何目标平台都遵循相同的步骤。唯一 Supabase 特有的部分是连接字符串,Supabase 卡片会为您自动填写。

将 Supabase 部署在工作发生的地方

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

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