Fly.io Postgres 标志

托管Postgres 支持 PostgreSQL

连接 Fly.io Postgres 适用于 Excel、Google Sheets、AI 和 REST

Fly.io托管Postgres。可访问性是首先需要解决的问题——有三种解决方案,而且都有效。

一个连接,每个表面

你的 Fly.io 数据可以去哪里

查询流通过一个只读连接,从 Microsoft Excel、Google Sheets、Power BI、AI 助手(通过 MCP)以及 REST 端点读取 Fly.io 托管的 Postgres 数据库。Fly MPG 旨在从 Fly 内部网络访问,因此首先要确定网络代理的运行位置——是在同一组织内的 Fly 服务器上,还是通过 Fly 提供的本地代理运行在您自己的硬件上。连接建立后,两者都是普通的 Postgres 数据库。此外,这是少数几个加密并非强制执行而是根据复选框自动启用的组件之一,这样做是有充分理由的。

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

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

    将 Fly.io 的实时结果直接导入工作表,并可按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。

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

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

    PostgreSQL 指南
  4. 向 Nova 询问 Fly.io 的相关情况 Nova AI · 文本转 SQL

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

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

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

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

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

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

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

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

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

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

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

    PostgreSQL 指南
  11. Fly.io 飞往 SeaTable 自动化平台

    无需导出文件或暴露数据库,即可使 SeaTable 数据库与 Fly.io 数据保持最新。

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

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

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

    通过 REST 端点将 Anvil Python 应用程序与 Fly.io 集成,而不是将数据库凭据嵌入到应用程序中。

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

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

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

    将 Fly.io 查询设置为定时执行,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的阈值时才发送消息。

    警报和报告的工作原理

工作原理

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

01

确定代理的运行位置。在同一组织的 Fly Machine 上,它可以直接访问数据库;在其他任何位置,运行 fly mpg proxy 并将连接指向 127.0.0.1。无论哪种方式,代理都只建立出站连接。

02

从 Fly MPG Connect 或仪表盘获取连接字符串。将其粘贴到第一个字段中,即可读取主机、端口、数据库、用户名和密码。

03

检查最终得到的主机名。direct.<集群>.flympg.net 是数据库本身,pgbouncer.<集群>.flympg.net 是池化端点——模式在前缀中,而不是端口中。

04

对于 flympg.net 主机,请启用 SSL。仅当您通过本地 flympg 代理隧道访问网络时才应禁用 SSL,因为此时流量不会离开您的计算机。

05

测试并保存后,即可从 Microsoft Excel、Google Sheets、Power BI、MCP 或 REST 中读取。填写完字段后,粘贴的字符串将被删除,因此密码只需存储一次。

专题深度解析

Fly.io 能给你带来什么

有三种进入方式,卡片会告诉你何时选择了第四种。

Fly MPG 假定其客户居住在 Fly 机场。但代理商通常不住在 Fly 机场,因此这是其他任何事情之前都应该考虑的决定。

  • 同一组织内的飞行代理机器 — 数据库可以直接访问,如果您已经在 Fly 上运行某些东西,那么这是最简洁的答案。
  • 通过 Fly mpg 代理,在您自己的硬件上安装代理 Fly 会打开一个本地隧道,然后您可以通过代理端口连接到 127.0.0.1。这是本地部署代理的常见做法。
  • 任何代理,直接连接到 flympg.net 主机名 — 当你的网络可以访问它时,代理服务器可以正常工作;当网络无法访问时,代理服务器会超时。如果直接连接挂起而不是被拒绝,那就是这种情况,而代理服务器可以解决这个问题。
  • 使用 .internal 主机名不起作用。这些是 Fly 的私有 6PN 名称,它们只能在 Fly 的网络内部解析,因此网卡会直接拒绝这些名称,而不是像通常那样因为超时而断开连接。 — 铁路卡也同样享有对其私人变量的礼遇。

池化端点是一个主机名前缀,这非常容易正确获取。

大多数使用池化器的服务都会为其分配单独的端口或单独的标志。Fly 会更改主机名前面的一个单词。

  • direct.<cluster>.flympg.net 是数据库。pgbouncer.<cluster>.flympg.net 是 PgBouncer 池,与 flympg.net 位于同一集群,使用相同的凭据。
  • 由于前缀是主机名的一部分,因此它会随您粘贴的内容一起传输。粘贴 pgbouncer URI 后,卡片会读取前缀并为您记录池模式。 — 无需记住下拉菜单。
  • 对于长时间运行的读取操作,请使用直接主机;对于大量短时读取操作,请使用连接池。无论哪种方式,代理运行的所有操作都是只读的。
  • 需要明确说明代理程序如何处理此信息:它会记录您当前使用的端点,然后进行连接。目前,它不会在两者之间更改驱动程序设置。如果您正在通过连接池处理大量并发负载,建议暂时优先使用直接主机连接。

加密功能在此处的复选框之后启用,这是有意为之。

本站大多数托管 Postgres 卡片都声称代理会强制使用 TLS,无论复选框是否选中。但此卡片并非如此,原因在于代理。

  • SSL 复选框默认处于启用状态,启用后即可与 flympg.net 主机建立加密连接。这是正常流程,无需更改任何设置。
  • 代理不会覆盖默认设置,因为本地 Fly MPG 代理隧道是一种合法的连接方式,强制加密会破坏这种连接。通过该隧道传输的流量永远不会离开您的计算机,因此网络上没有任何需要保护的内容。
  • 所以,最诚实的指示其实很简单:除非你通过代理访问 127.0.0.1,否则请保持启用状态。不要为了访问 flympg.net 主机而清除它。
  • 启用加密后,证书链将不会进行验证。这可以理解为防止任何人读取传输中的流量,而不是证明哪个服务器响应了请求。
  • 您的凭据永远不会离开代理运行所在的机器,Query Streams 不会存储您的任何数据副本或密码副本。
-- 普通 Postgres,只读\nSELECT c.name,\nCOUNT(o.id) AS orders,\nSUM(o.amount) AS revenue\nFROM public.customers AS c\nJOIN public.orders AS o ON o.customer_id = c.id\nWHERE o.placed_at >= now() - interval '30 days'\nGROUP BY c.name\nORDER BY revenue DESC;

每个数据库连接器共享

适用于所有数据库连接器

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

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

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

跨源 SQL

将 Fly.io 连接到您的其他数据

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

3 个连接 · 3 个代理

Fly.io Postgres 托管Postgres
微软 SQL 服务器 关系引擎
条纹 付款与账单

一份声明

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

连接详情

Fly.io 需要什么

主持人
direct.<cluster>.flympg.net 或 pgbouncer.<cluster>.flympg.net — 或通过本地 Flympg 代理访问 127.0.0.1
港口
5432,或者隧道传输时的代理端口
司机
由代理程序携带的 Npgsql——无需在 Fly 端安装任何软件。
粘贴格式
来自 Fly mpg Connect 或仪表盘的字符串,以 postgresql:// URI 的形式呈现
默认值
数据库 fly-db 和用户 fly-user 已预先填充,与 Fly 创建的内容相匹配。
TLS
此功能取决于 SSL 复选框的设置,该复选框默认启用。代理程序不会强制启用此功能,因此仍可使用本地代理隧道。启用后会进行加密;但不会验证证书链。
池化
pgBouncer 位于 pgbouncer 上。主机名前缀。该卡读取前缀并记录模式
已拒绝
.internal 主机名——这些是 Fly 私有网络名称,无法从 Fly 外部解析。
已保存
PostgreSQL,Fly.io 保留为徽章
默认架构
公开的,也就是联邦引用所携带的。

Fly.io 是本网站上最清晰地展现网络代理架构如何确保连接安全而非仅仅提供安全保障的案例。Fly MPG 要求其客户使用 Fly 平台,这对任何从自身云平台连接到客户云平台的工具来说都是个难题。该代理并非从任何特定位置连接——它运行在您指定的任何位置,包括同一组织内部的 Fly 服务器,然后拨号连接。原本棘手的网络状况就此迎刃而解。

主机名前缀的设计值得称赞。将池放在 pgbouncer.<集群> 而不是放在第二个端口或保存的标志之后,意味着选择本身就包含在地址中,因此即使复制、粘贴和存储后,无需第二个设置来保持同步,该选择仍然有效。Crunchy Bridge 使用端口实现了相同的功能。两者都比使用标志更好,原因相同。

对于跨源查询,Fly.io 就像普通的 Postgres 数据库一样。你创建的名为 fly_app 的连接实际上是 fly_app.public.orders,它通过一条只读语句连接到 CSV 文件文件夹、本地记录系统或计费 API——无需复制任何内容,也无需安排任何操作。

供应商文档: fly.io

常问问题

关于 Fly.io Postgres 的问题

哪些工具可以通过查询流读取 Fly.io Postgres 数据?

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

我是否需要为我的 Fly.io Postgres 数据库打开防火墙端口?

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

Fly.io Postgres 中的查询流可以更改数据吗?

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

Query Streams 需要哪些条件才能连接到 Fly.io Postgres?

可访问的主机、角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。主机:direct.<集群>.flympg.net 或 pgbouncer.<集群>.flympg.net——或者通过本地 Flympg 代理访问 127.0.0.1。端口:5432,或隧道连接时使用的代理端口。驱动程序:Npgsql,由代理程序携带——Fly 端无需安装任何内容。粘贴格式:来自 Flympg Connect 或控制面板的字符串,格式为 postgresql:// URI。

我可以在同一个查询中将 Fly.io Postgres 数据库连接到另一个数据库吗?

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

连接 Fly.io Postgres 与连接 PostgreSQL 有什么不同?

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

是否有 Fly.io 到 Excel 的转换指南?

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

将 Fly.io 放在工作发生的地方

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

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