铁路标志

托管Postgres 支持 PostgreSQL

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

通过公共 TCP 代理运行铁路 Postgres 数据库。有两个变量看起来都正确,但只有一个是正确的——网卡知道是哪一个。

一个连接,每个表面

您的铁路数据可以去哪里?

Query Streams 通过一个只读连接,从 Microsoft Excel、Google Sheets、Power BI、AI 助手(通过 MCP)以及 REST 端点读取 Railway Postgres 数据库。Railway 为每个数据库分配两个地址:一个私有地址,仅在 Railway 内部解析;以及一个公共 TCP 代理,用于所有其他用途。网络代理运行在 Railway 外部,因此实际使用的是公共代理——而由于 Railway 首先显示的是私有地址,因此卡片会直接拒绝该私有地址,而不是因为超时而失败。

Railway 是 PostgreSQL 在线数据库。 — 这是标准驱动程序,因此以下所有指南均适用。唯一铁路特有的部分是连接字符串,详见下文。 连接详情.

  1. 为您的团队、供应商和合作伙伴
  2. 铁路通往卓越 微软 Excel · Excel 加载项

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

    PostgreSQL 指南
  3. 铁路到谷歌表格 表格插件

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

    PostgreSQL 指南
  4. 问问诺瓦关于铁路的事 Nova AI · 文本转 SQL

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

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

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

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

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

    PostgreSQL 指南
  8. 从铁路到 Power BI Power Query M

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

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

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

    PostgreSQL 指南
  10. 通往巴塞罗的铁路 自动化平台

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

    PostgreSQL 指南
  11. 通往西塔布尔的铁路 自动化平台

    无需导出文件或公开数据库,即可保持 SeaTable 数据库包含最新的铁路数据。

    PostgreSQL 指南
  12. 铁路到智能表格 自动化平台

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

    PostgreSQL 指南
  13. 通往安维尔的铁路 Anvil Works · 应用平台

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

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

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

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

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

    警报和报告的工作原理

工作原理

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

01

您可以根据需要将网络代理安装在任何位置。它会打开一个出站连接,但从不监听,因此 Railway 会将其视为普通客户端,您的网络也无需设置任何入站规则。

02

打开 Postgres 服务,转到“变量”选项卡,复制 DATABASE_PUBLIC_URL。这是公共 URL——DATABASE_URL 是私有变量,在 Railway 外部无法使用。

03

粘贴进去。主机名、端口号、数据库名、用户名和密码都会直接从中读取。

04

检查端口是否连接成功。铁路公司会为每条线路分配一个代理端口,而 5432 端口很少见,因此在保存之前,务必查看一下这个字段。

05

保存。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 个代理

铁路 托管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 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理

连接详情

铁路需要什么

主持人
<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 卡片会自动为您填写这部分。

将铁路设在施工地点

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

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