鉄道ロゴ

マネージドPostgres PostgreSQLについて話す

接続する 鉄道 Excel、Google Sheets、AI、RESTへ

公開TCPプロキシ経由のRailway Postgres。2つの変数が正しい変数のように見えますが、正しいのはそのうちの1つだけです。カードはどちらが正しいかを認識しています。

一つの接続、あらゆる表面

鉄道データの保存先

Query Streams は、読み取り専用接続 1 つを介して、Microsoft Excel、Google Sheets、Power BI、MCP 経由の AI アシスタント、および REST エンドポイントから Railway Postgres を読み取ります。Railway は、すべてのデータベースに 2 つのアドレスを割り当てます。1 つは Railway 内部でのみ解決されるプライベート アドレス、もう 1 つはそれ以外のすべてに使用されるパブリック TCP プロキシです。ネットワーク エージェントは Railway の外部で実行されるため、パブリック プロキシが機能します。また、プライベート変数は Railway が最初に表示する変数であるため、カードはタイムアウトとして失敗させるのではなく、名前で拒否します。

鉄道は、ワイヤー上のPostgreSQLです — 標準ドライバーなので、以下のガイドはすべて変更なく適用されます。鉄道固有の部分は接続ストリングのみで、以下で説明します。 接続の詳細.

  1. チーム、ベンダー、パートナーの皆様へ
  2. 鉄道で卓越性を追求 Microsoft Excel · Excelアドイン

    鉄道のリアルタイム結果をワークシートに直接取り込み、必要に応じて更新できます。対応プラットフォームは、デスクトップ版Excel、Excel Online、Microsoft 365です。

    PostgreSQLガイド
  3. 鉄道からGoogleスプレッドシートへ Sheetsアドオン

    サイドバーから保存済みのRailwayクエリを実行し、結果をシートにドラッグ&ドロップしてください。共有されている共同作業者は、各自でシートを更新できます。

    PostgreSQLガイド
  4. ノヴァに鉄道について聞いてみよう Nova AI · テキストからSQLへ

    平易な英語で質問してください。Novaは既にあなたの鉄道テーブルを把握しており、SQL文を作成して実行し、回答を説明してグラフ化します。クエリを作成する必要も、認証情報を提供する必要もありません。

    Novaの仕組み
  5. 鉄道データビューア 結果共有 · チーム、ベンダー、パートナー · 電話、タブレット、デスクトップ

    Railwayのリアルタイム結果を、同僚、ベンダー、パートナーなど、誰とでも共有できます。共有されたグリッドはブックマーク可能で、スマートフォン、タブレット、デスクトップなど、どのデバイスで開いても常に最新の状態に戻ります。相手には結果のみが表示され、SQLや認証情報は一切表示されません。

    データビューアの仕組み
  6. アプリとシステム向け
  7. 鉄道REST API HTTPエンドポイント

    Railwayクエリを認証済みのJSONエンドポイントとして公開し、OpenAPI 3.1仕様に準拠させ、Postman、Insomnia、Hoppscotch用の既製コレクションを用意することで、あらゆるアプリケーションから呼び出し可能にします。データベースポートは開放されません。

    PostgreSQLガイド
  8. 鉄道から電力BIへ Power Query M

    生成された Power Query M を Power BI アドバンスト エディターに貼り付けると、レポートは HTTPS 経由で鉄道のリアルタイムの結果を読み取ります。ODBC ドライバーもデータベース ポートも開かれません。

    Power BI の仕組み
  9. 鉄道からエアテーブルへ 自動化プラットフォーム

    Railroadの行をスケジュールに基づいてAirtableベースに同期したり、Airtable自動化スクリプト内で取得したりできます。

    PostgreSQLガイド
  10. ベイズロウ行きの鉄道 自動化プラットフォーム

    RailroadからBaserowテーブルへ、RESTエンドポイント経由でデータを供給します(セルフホスト環境またはBaserowクラウド環境)。

    PostgreSQLガイド
  11. 海底鉄道 自動化プラットフォーム

    ファイルをエクスポートしたりデータベースを公開したりすることなく、SeaTableのベースを鉄道データで常に最新の状態に保つ。

    PostgreSQLガイド
  12. 鉄道からスマートシートへ 自動化プラットフォーム

    鉄道関連の結果をSmartsheetのグリッドにプッシュすることで、計画書や報告書が先週のエクスポートデータではなく、ソースシステムから読み込まれるようになります。

    PostgreSQLガイド
  13. アンビル行きの鉄道 Anvil Works · アプリプラットフォーム

    Anvil PythonアプリをRailwayでバックアップするには、アプリ内にデータベース認証情報を埋め込むのではなく、RESTエンドポイントを使用します。

    PostgreSQLガイド
  14. AIツール向け
  15. 鉄道MCPサーバー Claude、Cursor、およびMCPクライアント

    AIアシスタントに、正しいSQLを作成するために必要なスキーマとともにRailwayへの読み取り専用アクセス権を付与します。チャットに認証情報は含めません。

    PostgreSQLガイド
  16. 人々に届けられる
  17. 鉄道に関する警報と報告 Slack · Discord · メール · Webhook

    Railwayクエリをスケジュール設定して、行をSlack、Discord、メール、または署名付きWebhookに送信するか、行数、しきい値、またはパーセンテージの変化が設定した値を超えるまでメッセージを保留することができます。

    アラートとレポートの仕組み

仕組み

5つのステップ、受信ファイアウォールの変更は不要

01

ネットワークエージェントは、ご都合の良い場所にインストールしてください。ネットワークエージェントは送信接続を1つだけ開き、受信接続は一切行わないため、Railwayは一般的なクライアントとして認識し、ネットワークに受信ルールは不要です。

02

Postgresサービスを開き、「変数」タブに移動して、DATABASE_PUBLIC_URLをコピーしてください。これは公開用の変数です。DATABASE_URLはプライベート変数なので、Railwayの外部からは機能しません。

03

貼り付けてください。ホスト名、ポート番号、データベース名、ユーザー名、パスワードがそのまま読み込まれます。

04

ポートが正しく接続されたか確認してください。鉄道会社はサービスごとにプロキシポートを割り当てますが、5432番ポートになることは稀です。そのため、保存する前にこの項目を確認することをお勧めします。

05

保存します。Microsoft Excel、Google Sheets、Power BI、MCP、REST はすべて、その単一の接続を介して読み取るか、単一の読み取り専用ステートメントで他のソースと結合します。

機能の詳細解説

鉄道があなたに提供するもの

DATABASE_PUBLIC_URL であって、DATABASE_URL ではない

これは鉄道接続が失敗する最も一般的な原因であり、しかも最も役に立たない形で失敗する。

  • Railwayのプライベートホスト名は.railway.internalで終わり、Railway自身のネットワーク内でのみ解決されます。それ以外の場所からは一切解決されません。
  • エージェントは鉄道の外で活動しているため、個人の住所にはアクセスできません。 ―接続が途切れるだけで、その理由は何も表示されません。
  • そのため、カードはそれを即座に拒否し、修正方法を提示します。それは、DATABASE_PUBLIC_URL から取得した公開 TCP プロキシ ホストを使用することです。これにより、サイレントタイムアウトが、対処可能なメッセージに変換されます。
  • パブリックプロキシのホスト名は .proxy.rlwy.net で終わります。以前の Railway デプロイメントでは代わりに .railway.app ホスト名が割り当てられていましたが、サービスが .railway.app を使用している場合は、そちらも引き続き機能します。

ポートはサービスごとに異なるため、推測することはできません。

ほとんどのマネージドPostgresサービスは5432番ポートで応答しますが、Railwayのプロキシは応答しないため、カードには意図的にそのフィールドが空欄になっています。

  • Railwayはサービスごとにプロキシポートを割り当てます。同じプロジェクト内の2つのデータベースはそれぞれ異なるプロキシポートを持ち、どちらも5432番ポートにはなりません。
  • ポート番号の欄にデフォルト値がないのは、まさにそのためです。例えば、5432という番号を勝手に入力すると、入力済みに見えて実際には接続に失敗し、空欄の場合よりも悪い結果になります。
  • DATABASE_PUBLIC_URLを貼り付けると、他のすべての情報とともにポートも埋められるため、通常のパスではそれを別途探す必要はありません。
  • フィールドを手入力する場合は、ポート番号を慎重にコピーしてください。 ―それは最も誤りを犯しやすい分野であり、最も情報量の少ない失敗を生み出す分野でもある。

自己署名証明書、そしてここでいう暗号化の意味

RailwayのPostgresイメージには自己署名証明書が同梱されており、この証明書によってエージェントがTLSをどのように処理するかが決まります。

  • SSLの使用はデフォルトで有効になっており、接続は暗号化されます。エージェントはTLSを提供するだけでなく、TLSの使用を必須とします。
  • 証明書チェーンは検証されていません。完全な検証を行うと、Railwayの自己署名証明書は拒否されるため、チェーンを検証せずに暗号化を要求する設定が、実際にサービスに合致しています。
  • それは、あなたが到達した場所の証明ではなく、途中で交通状況を誰かに読まれることを防ぐための防御策として解釈してください。
  • Railway Postgresの前にプーラーはなく、カードもそれを隠そうとはしていません。 これはプロキシ経由の直接接続であり、プールモードを選択することはできません。
-- 通常の 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;

すべてのデータベースコネクタで共有されます

すべてのデータベースコネクタに当てはまる

  • 発信専用 エージェントは、クエリ ストリームへの暗号化された接続を 1 つだけ開きます。受信ポートの転送も、VPN も、IP 許可リストも不要で、データベースに関する情報がインターネットに公開されることは一切ありません。
  • 認証情報はそのまま保持されます データベースのユーザー名とパスワードは、エージェントをインストールしたマシン上に存在します。Query Streamsはこれらを受け取ることはなく、単独ではデータベースにアクセスできません。
  • 読み取り専用、強制 一度に1つのステートメントのみ、SELECT文とその関連文のみ。書き込みは、誰かが設定した権限に頼るのではなく、サーバーに送信される前に自分のマシン上で拒否されます。
  • エージェントは好きなだけデプロイできます サイト、リージョン、クラウドごとに1つずつ。ユーザーが確認できるすべてのデータソースは単一のドロップダウンリストに表示されるため、どのエージェントがどのデータをホストしているかを誰も知る必要はありません。

クエリが保存されると、次のようになります。

  • SQLではなく、機能を共有する。 同僚や外部パートナーが、クエリの背後にあるステートメントを見ることなく、クエリを実行してフィルターを変更できてしまう。
  • どちらの方向からでもフィルターをかける それらを@変数として自分で宣言するか、コネクタにWHERE句に既に存在するリテラル値を検出させて、ドロップダウンとして提供させます。
  • どこからでも読める Microsoft Excel、Google Sheets、Power BI、REST API、MCP上のAIアシスタント、クエリビルダー、Novaはすべて、同じ保存済みクエリを読み取ります。
  • 複数同時に実行 — 5つの保存済みクエリを5つのワークシートタブに表示し、結果の規模に関わらず同時にストリーミングします。
  • すでに接続済みの他のものにも接続してください — 別のデータベース、ビジネスAPI、またはファイルフォルダを、1つの読み取り専用ステートメントで取得します。

クロスソースSQL

鉄道データを他のデータと結合する

1つのステートメントで、Railwayとその他の接続を同時に処理できます。各ソースは実行可能な部分のみを実行し、結果をストリームで返送します。結合は中央で行われるため、ソース同士が直接通信したり、データがコピーされたりすることはありません。

接続数3件・エージェント数3名

鉄道 マネージドPostgres
マイクロソフトSQLサーバー 関係エンジン
ストライプ 支払いと請求

一つの声明

-- コピーなし、マージなし、スケジュールなし
セレクト   c.region、COUNT(*) AS orders、SUM(i.amount_due) AS invoiced
フロム     鉄道アプリ公共命令1 f
ジョイン     erp_sql.dbo.顧客2     c ON c.id = f.customer_id
ジョイン     請求する.stripe.invoices3   i ON i.customer = c.stripe_id
GROUP BY c.領域
ORDER BY 請求書記載のDESC;

接続、スキーマ、テーブルの3つの部分から構成され、接続名はユーザーが自由に設定できます。これは例示用の列であり、テーブルはユーザー自身が設定します。読み取り専用はすべての要素に適用され、SELECT、WITH、EXPLAINのみが使用可能で、1つのクエリで1つのソースが渡せるデータ量には上限があります。 フェデレーションクエリの仕組み

接続の詳細

鉄道に必要なもの

ホスト
<name>.proxy.rlwy.net は、公開TCPプロキシです。.railway.app 上の古いデプロイも動作します。
ポート
鉄道会社によってサービスごとに割り当てられます。デフォルト値はありません。DATABASE_PUBLIC_URLから取得されます。
ドライバ
エージェントによって提供されるNpgsql - 鉄道側では何もインストールする必要はありません
貼り付け形式
サービス変数タブのDATABASE_PUBLIC_URL
データベース
鉄道、これは鉄道のデフォルト名です
ユーザー名
PostgreSQL
TLS
Railwayホストのエージェントによって必須かつ強制されます。暗号化されています。証明書チェーンは検証されません。これはRailwayの自己署名証明書に必要なものです。
プーリング
なし。エージェントは鉄道向けにプーラーの適応を適用しません。
このカードではありません
.railway.internal プライベートホスト名 - カードはそれを拒否し、代わりにどの変数を使用するかを指示します
保存先
PostgreSQLでは、Railwayはバッジとして保持されていますが、Railwayという名前の接続タイプは存在しません。
デフォルトスキーマ
連邦参照が持つパブリックなもの

このカードの核心は、プライベート変数とパブリック変数の使い分けにあります。RailwayではDATABASE_URLが目立つように表示されていますが、これはRailway内部で実行されるサービス(Railwayの用途の大部分を占めます)にとって正しい変数です。外部からの読み取りは例外であり、その例外には別の変数が必要です。内部ホスト名を名前で拒否する(何も解決されずにタイムアウトするのを許容する)ことで、5秒で修正できるか、20分間ファイアウォールを疑うかの違いが生じます。

ポート番号欄が空欄になっているのは意図的なものであり、擁護する価値があります。ほとんどすべてのPostgresサービスが5432番ポートを使用しているため、5432番ポートを事前に入力したくなる気持ちはよく分かりますが、Railwayのプロキシはサービスごとにポート番号を割り当てるため、5432番ポートを事前に入力しておくと明らかに間違ってしまいます。必須項目が空欄になっているということは、何らかの疑問を投げかけているということです。間違ったデフォルト値は、その疑問に誤った答えを出し、あたかも解決済みのように見えてしまうのです。

クロスソースクエリの場合、Railwayは通常のPostgresです。railway_appという接続はrailway_app.public.ordersとして記述され、CSVフォルダ、オンプレミスの記録システム、または課金APIに、コピーもスケジュールも一切行わずに、読み取り専用のステートメント1つで接続します。

ベンダー資料: docs.railway.com

よくある質問

鉄道に関する質問

どのツールがクエリ ストリームを介して鉄道データを読み取ることができますか?

Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、スケジュールされたアラートやレポートなど、すべてを1つの接続で利用できます。データベースに一度接続すれば、すべてのインターフェースが同じ読み取り専用接続を読み取ることができます。ツールごとの設定やデータの複製は一切不要です。

Railwayデータベースへのファイアウォールポートを開放する必要がありますか?

いいえ。Query Streams Network Agentはネットワーク内で動作し、暗号化された単一の送信接続を開きます。受信トラフィックを監視するものはなく、VPNも不要で、データベースは既存のファイアウォールルールを維持します。

クエリ ストリームは Railway のデータを変更することができますか?

いいえ。エージェントは実行時に読み取り専用を強制します。つまり、一度に1つのステートメント(SELECT文など)のみを実行します。認証情報はエージェント上に保持され、クエリ ストリームに送信されることはありません。

Query StreamsがRailwayに接続するために必要なものは何ですか?

到達可能なホスト、ロール、およびそのパスワード - エージェントがドライバを運ぶため、データベースには何もインストールされません。 ホスト: <name>.proxy.rlwy.net、パブリック TCP プロキシ。 .railway.app の古いデプロイも動作します。 ポート: Railway によってサービスごとに割り当てられます。デフォルトはありません - DATABASE_PUBLIC_URL から取得されます。 ドライバ: Npgsql、エージェントによって運ばれます - Railway 側でインストールする必要はありません。 貼り付け形式: サービスの変数タブの DATABASE_PUBLIC_URL。

同じクエリ内で、Railwayデータベースを別のデータベースに結合することはできますか?

はい、それはフェデレーションクエリです。1つのステートメントで、Railwayと他の接続を同時に参照でき、connection.schema.table の形式で記述されます。各ソースは実行可能な部分のみを実行し、結果をストリームで返します。結合は中央で行われるため、ソース同士が接続されることはなく、何もコピーまたはスケジュールされません。読み取り専用はすべての部分(SELECT、WITH、EXPLAINのみ)に適用され、1つのソースが単一のクエリで渡せるデータ量には上限があります。フェデレーションクエリはプラン機能であり、フェデレーションクエリのページには現在のソースとサイズの制限が表示されます。

Railwayを接続することとPostgreSQLを接続することは、何か違いがありますか?

接続文字列のみが必要です。RailwayはPostgreSQLワイヤプロトコルを使用するため、フィルタ、スケジュール設定、共有、ExcelおよびGoogle Sheetsアドオン、MCPサーバーはすべて同じように動作します。Railwayカードには、プロバイダが想定するホスト、ポート、SSL設定があらかじめ入力されています。

鉄道を利用してExcelを活用するためのガイドはありますか?

はい、これはPostgreSQLのガイドであり、記述どおりにRailwayにも適用できます。RailwayはPostgreSQLのワイヤプロトコルを使用するため、RailwayからExcel、RailwayからGoogle Sheets、その他のすべての宛先への接続手順は同じです。Railway固有の部分は接続文字列のみですが、Railwayカードが自動的に入力してくれます。

鉄道は作業が行われる場所に設置する

エージェントをインストールし、データベースを指定して、保存先を選択してください。

読み取り専用 発信専用 認証情報はエージェントに保持されます