Fly.io Postgresのロゴ

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

接続する Fly.io ポストグレス Excel、Google Sheets、AI、RESTへ

Fly.io マネージド PostgreSQL。まず解決すべき問題は到達可能性です。解決策は 3 つあり、いずれも有効です。

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

Fly.ioのデータがどこに保存されるか

Query Streams は、1 つの読み取り専用接続を介して、Microsoft Excel、Google Sheets、Power BI、MCP 経由の AI アシスタント、および REST エンドポイントから Fly.io マネージド Postgres を読み取ります。Fly MPG は Fly 独自のネットワーク内からアクセスできるように構築されているため、最初に決定する必要があるのは、ネットワーク エージェントがどこで実行されるかです。同じ組織内の Fly マシン上、または Fly が提供するローカル プロキシを介して独自のハードウェア上です。どちらも確立されると通常の Postgres になります。これは、暗号化が強制されるのではなくチェックボックスに従って実行される数少ないカードの 1 つですが、それには正当な理由があります。

Fly.io Postgresは、ネットワーク上のPostgreSQLです。 — 標準ドライバーなので、以下のガイドはすべて変更なく適用されます。Fly.io固有の部分は接続文字列のみで、以下で説明します。 接続の詳細.

  1. チーム、ベンダー、パートナーの皆様へ
  2. Fly.io から Excel へ Microsoft Excel · Excelアドイン

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

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

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

    PostgreSQLガイド
  4. Fly.ioについてNovaに聞いてみてください。 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へ 自動化プラットフォーム

    Fly.ioからRESTエンドポイント経由で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 · アプリプラットフォーム

    Anvil PythonアプリをFly.ioのRESTエンドポイント経由でバックアップすることで、データベースの認証情報をアプリ内に埋め込む必要がなくなります。

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

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

    PostgreSQLガイド
  16. 人々に届けられる
  17. Fly.ioのアラートとレポート Slack · Discord · メール · Webhook

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

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

仕組み

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

01

エージェントの実行場所を決定します。同じ組織内の Fly マシンでは、エージェントはデータベースに直接アクセスします。それ以外の場所では、fly mpg proxy を実行し、接続先を 127.0.0.1 に設定します。いずれの場合も、エージェントは送信接続のみを行います。

02

Fly MPG Connectまたはダッシュボードから接続文字列を取得します。それを最初のフィールドに貼り付けると、ホスト、ポート、データベース、ユーザー名、パスワードが読み込まれます。

03

最終的に取得したホスト名を確認してください。direct.<cluster>.flympg.net はデータベース自体であり、pgbouncer.<cluster>.flympg.net はプールされたエンドポイントです。モードはポートではなくプレフィックスにあります。

04

flympg.net ホストの場合は、SSL の使用を有効にしておいてください。ローカルの fly mpg プロキシ トンネルを経由する場合のみ、SSL の使用を無効にしてください。この場合、トラフィックはマシンから外部に出ません。

05

テスト、保存後、Microsoft Excel、Google Sheets、Power BI、MCP、またはRESTから読み込みます。貼り付けられた文字列は、フィールドへの入力が完了すると破棄されるため、パスワードは一度だけ保存されます。

機能の詳細解説

Fly.ioが提供するもの

3つの方法があり、4つ目の方法を選んだときにカードが教えてくれます。

Fly MPGは、顧客がFlyに居住していることを前提としている。一方、エージェントは通常Flyに居住していないため、これは何よりもまず最初に決めておくべき重要な点である。

  • 同じ組織内のフライマシンに乗ったエージェント — データベースに簡単にアクセスできるので、既に Fly 上で処理を実行している場合はこれが最も簡潔な解決策です。
  • 独自のハードウェア上のエージェント、fly mpgプロキシ経由 — Flyはローカルトンネルを開き、プロキシポートで127.0.0.1に接続します。これはオンプレミスエージェントの一般的な動作です。
  • エージェントはどこにいても、flympg.netホスト名に直接アクセスできます。 ネットワークが接続可能な場合は正常に動作し、接続できない場合はタイムアウトします。直接接続が拒否されるのではなく、接続が切断される場合は、このケースに該当し、プロキシを使用することで解決できます。
  • 機能しないのは、.internalホスト名です。これらはFlyのプライベート6PN名であり、Flyネットワーク内でのみ解決されるため、カードはタイムアウトとして接続を切断するのではなく、名前で拒否します。 ―鉄道カードがそのプライベート変数に対して示すのと同じ配慮。

プールされたエンドポイントはホスト名のプレフィックスであり、正しく設定するのは非常に簡単です。

プーラーを使用するほとんどのサービスは、専用のポートまたは専用のフラグを割り当てます。Flyはホスト名の先頭の単語を1つ変更します。

  • direct.<cluster>.flympg.net はデータベースです。pgbouncer.<cluster>.flympg.net は PgBouncer プールで、同じクラスター、同じ認証情報です。
  • プレフィックスはホスト名の一部であるため、貼り付けた内容と一緒に渡されます。pgbouncer URIを貼り付けると、カードはプレフィックスを読み取り、プールモードを記録します。 ―覚えておくべきドロップダウンメニューはありません。
  • 長時間かかる読み取り処理には直接ホストを使用し、短時間の読み取り処理が多数ある場合はプールを使用してください。いずれの場合も、エージェントが実行する処理はすべて読み取り専用です。
  • エージェントが具体的に何をするのかを明確にしておく必要があります。エージェントはユーザーがどのエンドポイントにいるかを記録し、接続を確立します。現時点では、2つのエンドポイント間でドライバ設定を変更することはありません。プールを通して同時負荷が高い場合は、当面は直接ホストを使用することをお勧めします。

暗号化はここのチェックボックスの後に続きますが、それは意図的なものです

このサイトに掲載されているほとんどのマネージドPostgresカードは、チェックボックスの設定に関わらずエージェントがTLSを強制すると記載されています。しかし、このカードはそうではなく、その理由はプロキシにあります。

  • SSLチェックボックスはデフォルトでオンになっており、オンのままにしておくとflympg.netホストへの暗号化された接続が確立されます。これは通常の接続経路であり、変更する必要はありません。
  • エージェントはこれを上書きしません。なぜなら、ローカルのfly mpgプロキシトンネルは正当な接続方法であり、暗号化を強制すると接続が切断されてしまうからです。そのトンネルを通るトラフィックはマシンから外に出ることはないので、保護すべきデータはネットワーク上に存在しません。
  • つまり、正直な指示は単純明快です。プロキシ経由で127.0.0.1に接続している場合を除き、オンのままにしておいてください。flympg.netホストの場合は、オフにしないでください。
  • 暗号化が有効になっている場合、証明書チェーンは検証されません。これは、どのサーバーが応答したかの証明としてではなく、通信中のトラフィックを傍受しようとする者から保護するためのものとして理解してください。
  • お客様の認証情報は、エージェントが動作するマシンから外部に送信されることは決してなく、Query Streamsはお客様のデータやパスワードのコピーを一切保存しません。
-- 通常の Postgres、読み取り専用\nSELECT c.name,\n COUNT(o.id) AS orders,\n SUM(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;

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

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

  • 発信専用 エージェントは、クエリ ストリームへの暗号化された接続を 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

Fly.ioを他のデータと連携させましょう

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

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

Fly.io ポストグレス マネージド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つのソースが渡せるデータ量には上限があります。 フェデレーションクエリの仕組み

接続の詳細

Fly.ioが必要としているもの

ホスト
direct.<cluster>.flympg.net または pgbouncer.<cluster>.flympg.net — またはローカルの Fly MPG プロキシ経由で 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 MPGのエージェントはどこからでも接続するのではなく、同じ組織内のFly Machineなど、ユーザーが配置した場所で実行され、ダイヤルアウトします。これにより、これまで厄介だったネットワーク上の位置付けが、もはや厄介ではなくなります。

ホスト名プレフィックス設計は高く評価されるべきです。プールをpgbouncer.<cluster>に配置することで、2つ目のポートや保存されたフラグの背後ではなく、アドレス自体に選択内容が反映されるため、コピー、貼り付け、保存しても、別の設定を維持する必要がありません。Crunchy Bridgeもポートを使って同様のことを実現しています。どちらもフラグよりも優れており、理由は同じです。

クロスソースクエリの場合、Fly.io は通常の Postgres として動作します。fly_app という接続は fly_app.public.orders として書き込まれ、CSV ファイルのフォルダ、オンプレミスの記録システム、または請求 API に、コピーやスケジュール処理なしで、読み取り専用のステートメント 1 つで接続します。

ベンダー資料: fly.io

よくある質問

Fly.io Postgresに関する質問

Fly.ioのPostgreSQLデータをクエリストリーム経由で読み取れるツールはどれですか?

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

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

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

Fly.ioのPostgreSQLでは、クエリストリームでデータを変更できますか?

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

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

到達可能なホスト、ロール、およびそのパスワード - エージェントがドライバーを運ぶため、データベースには何もインストールされません。 ホスト: direct.<cluster>.flympg.net または pgbouncer.<cluster>.flympg.net - またはローカルの Fly mpg プロキシ経由で 127.0.0.1。 ポート: 5432、またはトンネリング時のプロキシ ポート。 ドライバー: Npgsql、エージェントが運ぶ - Fly 側には何もインストールしません。 貼り付け形式: Fly mpg Connect またはダッシュボードからの文字列を postgresql:// URI として貼り付けます。

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

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

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を仕事が行われる場所に設置しましょう

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

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