一个连接,每个表面
您的铁路数据可以去哪里?
- 1 出站连接
- 0 入境口岸
- 只读 · 凭据保留
运行
- 为您的团队、供应商和合作伙伴
-
在 Excel 插件 · 按需刷新
-
谷歌工作表 附加组件 · 按需刷新
-
新星人工智能 用简单的英语提问 · 文本转 SQL
-
数据查看器 分享实时结果 · 团队、供应商、合作伙伴 · 任何设备
- 对于应用程序和系统
-
REST API JSON 端点 · OpenAPI 3.1
-
Power BI Power Query M
-
计划同步 Google Sheets · Airtable · Baserow · SeaTable · Smartsheet · Anvil
- 人工智能工具
-
人工智能助手 Claude · Cursor · MCP 服务器
- 已送达
-
警报和报告 Slack · Discord · 电子邮件 · Webhook
Query Streams 通过一个只读连接,从 Microsoft Excel、Google Sheets、Power BI、AI 助手(通过 MCP)以及 REST 端点读取 Railway Postgres 数据库。Railway 为每个数据库分配两个地址:一个私有地址,仅在 Railway 内部解析;以及一个公共 TCP 代理,用于所有其他用途。网络代理运行在 Railway 外部,因此实际使用的是公共代理——而由于 Railway 首先显示的是私有地址,因此卡片会直接拒绝该私有地址,而不是因为超时而失败。
Railway 是 PostgreSQL 在线数据库。 — 这是标准驱动程序,因此以下所有指南均适用。唯一铁路特有的部分是连接字符串,详见下文。 连接详情.
- 为您的团队、供应商和合作伙伴
-
铁路通往卓越 微软 Excel · Excel 加载项
将实时铁路结果直接导入工作表,并可按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。
PostgreSQL 指南 -
铁路到谷歌表格 表格插件
从侧边栏运行已保存的铁路查询,并将查询结果拖放到工作表中。共享协作者可以自行刷新工作表。
PostgreSQL 指南 -
问问诺瓦关于铁路的事 Nova AI · 文本转 SQL
用简单的英语提问。Nova 已经了解您的铁路表,会自动编写并运行 SQL 语句,解释答案并绘制图表——无需编写查询语句,也无需提供任何凭证。
Nova 的工作原理 -
铁路到数据查看器 结果共享 · 团队、供应商、合作伙伴 · 手机、平板电脑、台式机
您可以与任何人(同事、供应商、合作伙伴)共享实时铁路查询结果,以可收藏的网格形式呈现,无论在手机、平板电脑还是台式机上打开,都能立即显示最新结果。他们看到的是查询结果,而不会看到 SQL 语句或凭据。
数据查看器的工作原理 - 对于应用程序和系统
-
铁路 REST API HTTP 端点
将铁路查询发布为任何应用程序都可以调用的已认证 JSON 端点,符合 OpenAPI 3.1 规范,并预置了 Postman、Insomnia 和 Hoppscotch 集合。无需打开数据库端口。
PostgreSQL 指南 -
从铁路到 Power BI Power Query M
将生成的 Power Query M 粘贴到 Power BI 高级编辑器中,报表即可通过 HTTPS 读取实时铁路结果——无需 ODBC 驱动程序,也无需打开数据库端口。
Power BI 的工作原理 -
铁路到 Airtable 自动化平台
按计划将 Railway 行同步到 Airtable 数据库,或者在 Airtable 自动化脚本中获取它们。
PostgreSQL 指南 -
通往巴塞罗的铁路 自动化平台
通过 REST 端点从 Railway 向 Baserow 表提供数据——无论是自托管还是 Baserow 云。
PostgreSQL 指南 -
通往西塔布尔的铁路 自动化平台
无需导出文件或公开数据库,即可保持 SeaTable 数据库包含最新的铁路数据。
PostgreSQL 指南 -
铁路到智能表格 自动化平台
将铁路结果推送到 Smartsheet 网格中,以便计划和报告能够从源系统读取数据,而不是从上周的导出数据读取数据。
PostgreSQL 指南 -
通往安维尔的铁路 Anvil Works · 应用平台
使用 REST 端点将 Rails 数据库备份到 Anvil Python 应用程序,而不是将数据库凭据嵌入到应用程序中。
PostgreSQL 指南 - 人工智能工具
-
铁路 MCP 服务器 Claude、Cursor 和 MCP 客户端
赋予 AI 助手对 Railway 的只读访问权限,并提供它编写正确 SQL 所需的架构——聊天中不包含凭据。
PostgreSQL 指南 - 已送达
-
铁路警报和报告 Slack · Discord · 电子邮件 · Webhook
将 Railway 查询添加到计划中,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的阈值时才发送消息。
警报和报告的工作原理
工作原理
5 个步骤,无需更改入站防火墙规则
您可以根据需要将网络代理安装在任何位置。它会打开一个出站连接,但从不监听,因此 Railway 会将其视为普通客户端,您的网络也无需设置任何入站规则。
打开 Postgres 服务,转到“变量”选项卡,复制 DATABASE_PUBLIC_URL。这是公共 URL——DATABASE_URL 是私有变量,在 Railway 外部无法使用。
粘贴进去。主机名、端口号、数据库名、用户名和密码都会直接从中读取。
检查端口是否连接成功。铁路公司会为每条线路分配一个代理端口,而 5432 端口很少见,因此在保存之前,务必查看一下这个字段。
保存。Microsoft Excel、Google Sheets、Power BI、MCP 和 REST 都通过这一个连接读取数据,或者将其与其他数据源合并到一个只读语句中。
专题深度解析
铁路带给你什么?
DATABASE_PUBLIC_URL,而不是 DATABASE_URL
这是铁路连接故障最常见的一种方式,而且这种故障方式是最无益的。
- 铁路公司的私有主机名以 .railway.internal 结尾,并且只能在铁路公司自己的网络内部解析。在其他任何地方都无法解析。
- 该代理人在铁路公司外部活动,因此私人地址永远无法联系到。 — 连接会直接断开,而不会告诉你原因。
- 因此,该卡直接拒绝了连接,并给出了解决方法:使用 DATABASE_PUBLIC_URL 中的公共 TCP 代理主机。这样就把原本静默的超时变成了可以采取相应措施的明确信息。
- 公共代理主机以 .proxy.rlwy.net 结尾。较早部署的 Railway 服务使用的是 .railway.app 主机名,如果您的服务也使用这种主机名,则仍然有效。
端口是按服务划分的,所以无法猜测。
大多数托管的 Postgres 服务都在 5432 端口响应。Railway 的代理服务不在 5432 端口响应,因此卡片故意将该字段留空。
- 铁路系统会为每个服务分配一个代理端口。同一个项目中的两个数据库会使用不同的代理端口,而且都不会是 5432。
- 端口字段没有默认值正是出于这个原因。假设输入 5432,看起来好像已填写,但实际上连接失败,这比输入空值更糟糕。
- 粘贴 DATABASE_PUBLIC_URL 会将端口和其他所有内容一起填充,因此正常路径永远不会要求您单独查找它。
- 如果您是手动输入字段,那么端口号是需要仔细复制的内容。 ——这是最容易出错的领域,也是产生信息量最少的失败案例的领域。
自签名证书,以及加密在这里的含义
Railway 的 Postgres 镜像附带一个自签名证书,该证书决定代理如何处理 TLS。
- 默认情况下启用 SSL,连接已加密。代理程序要求使用 TLS,而不仅仅是提供 TLS。
- 证书链未经验证。完整验证会拒绝铁路公司的自签名证书,因此,要求加密但不验证证书链才是真正符合服务需求的设置。
- 这段文字可以理解为防止有人在途中查看交通信息,而不是证明你到达了哪里。
- Railway Postgres 前面没有 pooler,卡片上也没有否认这一点。 — 这是通过代理的直接连接,没有池化模式可供选择。
-- 普通 Postgres,只读,通过公共代理 SELECT c.name, COUNT(o.id) AS orders, SUM(o.amount) AS revenue FROM public.customers AS c JOIN public.orders AS o ON o.customer_id = c.id WHERE o.placed_at >= now() - interval '30 days' GROUP BY c.name 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
将铁路数据与您的其他数据连接起来
一条语句可以同时连接 Railway 和其他连接。每个数据源只运行它能够处理的部分,并将结果流式传输回来,连接操作在中心统一完成——各个数据源之间互不通信,也不会复制任何数据。
3 个连接 · 3 个代理
一份声明
——没有任何复制、合并或安排操作。
选择 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 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理
连接详情
铁路需要什么
- 主持人
- <name>.proxy.rlwy.net,即公共 TCP 代理。之前部署在 .railway.app 上的版本也能正常工作。
- 港口
- 由铁路部门按服务分配。无默认值——取自 DATABASE_PUBLIC_URL。
- 司机
- 由代理程序携带的 Npgsql——铁路端无需安装任何软件。
- 粘贴格式
- 从服务“变量”选项卡中获取 DATABASE_PUBLIC_URL
- 数据库
- 铁路,这是铁路公司对它的默认名称。
- 用户名
- PostgreSQL
- TLS
- 这是铁路主机代理强制要求的。证书已加密;证书链未经验证,而铁路自签名证书则需要验证。
- 池化
- 无。该代理未对铁路应用任何池化器调整。
- 不是这张卡
- .railway.internal 私有主机名——卡片会拒绝它,并告知您应该使用哪个变量来代替。
- 已保存
- PostgreSQL 中,Railway 仅作为标识保留——实际上并没有名为 Railway 的连接类型。
- 默认架构
- 公开的,也就是联邦引用所携带的。
私有地址与公共地址的区分是这张卡片的核心所在。Railway 系统显著地显示了 DATABASE_URL,对于 Railroad 内部运行的服务而言,这是一个正确的变量,而 Railroad 的大部分功能也正是如此。外部读取器是个例外,而这种例外情况需要使用另一个变量。直接拒绝内部主机名(而不是让它解析为空并超时),就能在五秒钟内解决问题,而不是花二十分钟怀疑防火墙。
端口字段留空是有意为之,值得捍卫。人们的第一反应是预填 5432,因为几乎所有 Postgres 服务都使用它,但 Railway 的代理会根据每个服务分配端口,因此预填 5432 肯定是错误的。一个空的必填字段是在提出问题;而错误的默认值则是错误的回答,并且看起来好像已经定型了。
对于跨源查询,Railway 数据库与普通的 Postgres 数据库并无二致。您创建的名为 railway_app 的连接实际上是 railway_app.public.orders,它可以通过一条只读语句连接到 CSV 文件文件夹、本地记录系统或计费 API——无需复制任何内容,也无需安排任何任务。
供应商文档: docs.railway.com
常问问题
关于铁路的问题
哪些工具可以通过查询流读取铁路数据?
所有这些工具,只需一次连接即可使用:Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、定时提醒和报表。只需连接一次数据库,所有平台都使用同一个只读连接——无需为每个工具单独设置,也无需创建数据副本。
我是否需要为我的铁路数据库开放防火墙端口?
不。Query Streams 网络代理运行在您的网络内部,并打开一个单独的出站加密连接。它不会监听入站流量,无需 VPN,数据库也会保留其现有的防火墙规则。
查询流能否更改铁路数据?
不。代理在执行时强制执行只读模式——一次只执行一条语句,仅限 SELECT 及其相关语句。凭据保留在代理上,绝不会发送到查询流。
Query Streams 需要连接到 Railway 的什么接口?
一个可访问的主机、一个角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。主机:<name>.proxy.rlwy.net,公共 TCP 代理。之前部署在 .railway.app 上的版本也适用。端口:由 Railway 为每个服务分配。没有默认值——它来自 DATABASE_PUBLIC_URL。驱动程序:Npgsql,由代理程序携带——Railway 端无需安装任何内容。粘贴格式:从服务的“变量”选项卡中获取 DATABASE_PUBLIC_URL。
我可以在同一个查询中将铁路数据库与其他数据库连接起来吗?
是的——这就是联合查询。一条语句可以同时引用 Railway 和其他连接,格式为 connection.schema.table。每个数据源只运行它能够处理的部分,并将结果流式传输回来;连接操作在中心进行,因此数据源之间不会相互连接,也不会进行任何复制或调度。所有部分(SELECT、WITH 和 EXPLAIN)都采用只读模式,并且单个数据源在单次查询中可以传输的数据量有限制。联合查询是计划功能;联合查询页面会显示当前的数据源和大小限制。
连接铁路系统和连接PostgreSQL有什么不同?
仅需连接字符串。Railway 使用 PostgreSQL 网络协议,因此过滤器、调度、共享、Excel 和 Google Sheets 插件以及 MCP 服务器的行为都完全相同。Railway 卡会自动填充提供商所需的主机、端口和 SSL 设置。
有没有从铁路到Excel的指南?
是的——这是 PostgreSQL 指南,而且就 Rails 而言,指南中的内容是正确的。Railway 使用 PostgreSQL 的网络协议,因此 Rails 连接到 Excel、Google Sheets 以及其他任何目标平台都遵循相同的步骤。唯一 Rails 特有的部分是连接字符串,而 Rails 卡片会自动为您填写这部分。

