尼罗河标志

多租户Postgres 支持 PostgreSQL

连接 尼罗河 适用于 Excel、Google Sheets、AI 和 REST

Nile——专为多租户 B2B 应用设计的 Postgres 数据库。它的报表功能可以跨所有租户生成数据,这通常正是我们想要的。

一个连接,每个表面

你的尼罗河数据可以去哪里

查询流通过一个只读连接,从 Microsoft Excel、Google Sheets、Power BI、MCP 上的 AI 助手以及 REST 端点读取 Nile 数据。Nile 将租户虚拟化到单个 Postgres 数据库中,而不是为每个客户创建单独的数据库,因此租户感知表包含 tenant_id 列,一个连接即可访问所有租户。您的应用程序一次只能访问一个租户;而报表连接则不然,对于跨客户分析而言,这正是您所需要的行为。

Nile 是网络上的 PostgreSQL。 — 这是标准驱动程序,因此以下所有指南均适用。唯一 Nile 特有的部分是连接字符串,详见下文。 连接详情.

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

    将实时尼罗河水质检测结果直接导入工作表,并可按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。

    PostgreSQL 指南
  3. 尼罗河到谷歌表格 表格插件

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

    PostgreSQL 指南
  4. 问问诺瓦关于尼罗河的事 Nova AI · 文本转 SQL

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

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

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

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

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

    PostgreSQL 指南
  8. 尼罗河到 Power BI Power Query M

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

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

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

    PostgreSQL 指南
  10. 尼罗河到巴塞罗 自动化平台

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

    PostgreSQL 指南
  11. 从尼罗河到海桌 自动化平台

    无需导出文件或公开数据库,即可使用 Nile 数据更新 SeaTable 数据库。

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

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

    PostgreSQL 指南
  13. 从尼罗河到铁砧 Anvil Works · 应用平台

    使用 Nile 通过 REST 端点为 Anvil Python 应用程序提供后端支持,而不是将数据库凭据嵌入到应用程序中。

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

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

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

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

    警报和报告的工作原理

工作原理

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

01

在可以访问互联网的计算机上安装网络代理。它会打开一个出站连接,但从不监听,因此不需要入站防火墙规则。

02

在 Nile 控制台中打开数据库,然后选择设置和连接,并选择 PostgreSQL 选项。

03

如果您没有凭据,请生成一个。Nile 会在此时显示密码一次,请在离开页面前将其复制下来。

04

将连接字符串粘贴到第一个字段中。系统将从中读取主机、端口、数据库、用户名和密码。

05

启用 SSL,进行测试并保存。通过该连接,即可从 Microsoft Excel、Google Sheets、Power BI、MCP 或 REST API 读取数据。

专题深度解析

尼罗河带给你什么

一个数据库,每个租户,一次查询

Nile 的模型是该连接器中最有趣的部分,它改变了报告连接的用途。

  • Nile 将所有租户保存在一个 Postgres 数据库中,并使用租户感知表中的 tenant_id 列来区分他们,而不是为每个客户提供单独的数据库或模式。
  • 您的应用程序会为每个连接设置一个租户上下文,因此一次只能看到一个客户。而查询流连接不会设置该上下文,因此它可以查看所有客户。
  • 这使得跨租户报告成为一个简单的 GROUP BY 子句,而不是一个集成项目。每个客户的使用量、按套餐划分的收入,或者本月哪些帐户未登录,所有这些都包含在一个报表中。
  • 这也意味着您可以自行设计访问控制。此处的连接不限定于租户,因此如果您需要按客户生成报告,请在已保存的查询中按 tenant_id 进行筛选,并共享该查询,而不是共享连接。
  • 代理运行的所有操作都是只读的,因此无论查询结果如何,这里都无法修改租户数据。
-- 跨租户报告是普通的 GROUP BY SELECT t.name AS tenant, COUNT(o.id) AS orders, SUM(o.amount) AS revenue FROM public.tenants AS t JOIN public.orders AS o ON o.tenant_id = t.id WHERE o.placed_at >= now() - interval '30 days' GROUP BY t.name ORDER BY revenue DESC;

凭证仅显示一次,区域端点是普通的Postgres。

两条实用说明,涵盖了设置过程中大部分的操作。

  • Nile 会生成一个凭证 ID 作为用户名,并且密码只会显示一次。如果您丢失了该凭证 ID,请生成一个新的,而不是尝试恢复旧的。
  • 端点是区域性的,位于 .db.thenile.dev,使用标准端口 5432。此路径中没有连接池,代理也不会应用任何连接池适配。
  • TLS 是必需的,代理程序会对 Nile 主机名强制执行 TLS,因此取消选中 SSL 复选框不会建立未加密的连接。证书链未经验证。 — 将其理解为防止任何人读取流量的保护措施,而不是证明哪个服务器响应的证据。
  • 填写完字段后,粘贴的连接字符串将被删除,因此密码存储在一个地方而不是两个地方。

每个数据库连接器共享

适用于所有数据库连接器

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

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

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

跨源 SQL

将 Nile 与您的其他数据合并

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

3 个连接 · 3 个代理

尼罗河 多租户Postgres
微软 SQL 服务器 关系引擎
条纹 付款与账单

一份声明

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

连接详情

尼罗河需要什么

主持人
<region>.db.thenile.dev
港口
5432
司机
由代理程序携带的 Npgsql——Nile 端无需安装任何软件。
粘贴格式
来自“数据库”、“设置”、“连接”、“PostgreSQL”的字符串——以 postgres:// URI 的形式呈现
用户名
控制台生成的凭据 ID,而不是电子邮件地址。
TLS
Nile 主机名必须使用此功能,且此功能强制执行。证书已加密;证书链未经验证。
池化
无。该代理未对尼罗河应用任何池化器适应性调整。
租户范围
未设置租户上下文,因此连接会识别所有租户。需要时,请在查询中按 tenant_id 进行筛选。
已保存
PostgreSQL,Nile 保留为徽章
默认架构
公开的,也就是联邦引用所携带的。

Nile之所以值得作为报告目标来理解,正是因为它在这里没有做什么。Nile之所以有用,是因为它基于租户隔离机制,而这种隔离机制是由应用程序在设置租户上下文时,针对每个连接应用的。从未设置租户上下文的报告连接并非绕过控制——它只是按照模型预期的方式使用数据库,以满足需要查看整个环境的运维人员的需求。

实际结果是,范围界定决策转移到了查询层面,而不是连接层面。向已保存的查询添加 tenant_id 过滤器并共享该查询,即可获得客户范围的视图,而无需向任何人提供连接。这与 Query Streams 在其他地方使用的模式相同:共享运行权限,而不是共享其背后的凭据。

对于跨源查询,Nile 与普通的 Postgres 数据库并无二致。您创建的名为 nile_app 的连接实际上是 nile_app.public.orders,它可以通过一条只读语句连接到 CSV 文件文件夹、本地记录系统或计费 API——无需复制任何数据,也无需进行任何调度。

供应商文档: www.thenile.dev

常问问题

关于尼罗河的问题

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

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

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

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

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

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

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

可访问的主机、角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。主机:<region>.db.thenile.dev。端口:5432。驱动程序:Npgsql,由代理程序携带——Nile 端无需安装任何内容。粘贴格式:从“数据库”、“设置”、“连接”、“PostgreSQL”中复制字符串,格式为 postgres:// URI。

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

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

连接 Nile 和连接 PostgreSQL 有什么不同?

仅需连接字符串。Nile 使用 PostgreSQL 网络协议,因此过滤器、调度、共享、Excel 和 Google Sheets 插件以及 MCP 服务器的行为都完全相同。Nile 卡片会自动填充提供商所需的主机、端口和 SSL 设置。

有没有从 Nile 到 Excel 的转换指南?

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

将尼罗河放在工作地点

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

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