Heroku Postgresのロゴ

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

接続する Heroku Postgres Excel、Google Sheets、AI、RESTへ

DATABASE_URL から Heroku Postgres にアクセスします。Heroku データベースは EC2 のホスト名上に構築されるため、接続時に Heroku であることを認識するには、カード情報が必要です。

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

Herokuのデータが保存される場所

Query Streams は、1 つの読み取り専用接続を介して、Microsoft Excel、Google Sheets、Power BI、MCP 経由の AI アシスタント、および REST エンドポイントから Heroku Postgres を読み取ります。マネージド Postgres プリセットの中で Heroku は異質です。Heroku のデータベースは、プロバイダ特有の要素を一切含まないプレーンな EC2 ホスト名で応答するため、ここにある他のすべてのカードとは異なり、接続アドレスから Heroku として認識することはできません。このカードを選択すると記録されるため、汎用 PostgreSQL のカードではなく、このカードを選択する価値があります。

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

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

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

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

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

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

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

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

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

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

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

    PostgreSQLガイド
  8. HerokuからPower BIへ Power Query M

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

    Power BI の仕組み
  9. HerokuからAirtableへ 自動化プラットフォーム

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

    PostgreSQLガイド
  10. ヘロクからバセロウへ 自動化プラットフォーム

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

    PostgreSQLガイド
  11. HerokuからSeaTableへ 自動化プラットフォーム

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

    PostgreSQLガイド
  12. HerokuからSmartsheetへ 自動化プラットフォーム

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

    PostgreSQLガイド
  13. ヘロクからアンビルへ Anvil Works · アプリプラットフォーム

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

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

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

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

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

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

仕組み

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

01

ネットワークエージェントは、ご都合の良い場所にインストールしてください。送信接続を1つだけ開き、受信接続は一切行わないため、Herokuからは通常のクライアントとして認識され、ネットワークに受信ルールを設定する必要はありません。

02

アプリの設定画面の「設定変数」からDATABASE_URLをコピーし、最初のフィールドに貼り付けてください。ホスト、ポート、データベース、ユーザー名、パスワードはすべてそこから読み取られます。

03

テストを実行する前に、「SSLを使用する」をオンにしておいてください。Herokuは暗号化された接続を前提としており、新規接続の場合はこのチェックボックスをオンにすることで暗号化された接続が確保されます。

04

保存します。その瞬間にHerokuバッジが書き込まれ、それによって後々も接続が識別できるようになります。

05

Herokuの認証情報が更新されたら、再度貼り付けてください。その間、Microsoft Excel、Google Sheets、Power BI、MCP、RESTはすべて、その単一の接続を介して読み取りを行います。

機能の詳細解説

Herokuが提供するもの

ホスト名にはHerokuを示す要素は何もない

ここにある他のマネージドPostgresカードはすべて、アドレスによって自身のサービスを認識できます。しかし、このカードはそれができません。その違いを理解しておくことは重要です。

  • Heroku Postgres は、ec2-12-34-56-78.compute-1.amazonaws.com のような形式の EC2 インスタンス名のみに応答します。ホスト名に一致させる heroku は含まれていません。
  • つまり、このカードから保存する際に、接続元から推測するのではなく、プロバイダーの識別情報が記録されるのです。それが、バッジとアイコンの表示を決定する仕組みになっています。
  • 実際的な結果として、以前にHerokuデータベースに対して行った通常のPostgreSQL接続では、Herokuのブランドが後から引き継がれることはありません。NeonやKoyebのようなカードは、ホスト名からまさにそれを実現します。 — Herokuの場合は、うまく機能しません。
  • 古い接続に同じブランド名を使いたい場合は、このカードから再作成してください。データパス自体は変更されません。ラベル表示の違いだけです。

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

Herokuはデータベースの前面に独自の証明書を配置しており、それがエージェントが適切にチェックできる範囲を制限している。

  • SSLの使用はデフォルトで有効になっており、接続は暗号化されます。エージェントはTLSを提供するだけでなく、TLSの使用を必須とします。
  • 証明書チェーンは検証されていません。Herokuの証明書は自己署名されているため、完全な検証を行うと、完全に正しい接続であっても拒否されてしまいます。 — チェーンの検証を行わずに暗号化を要求する設定が、このサービスに合致しています。
  • これは、あなたが到達した地点の証明ではなく、交通情報を他人に読み取られることを防ぐためのものだと理解してください。鉄道カードが取る姿勢と、その理由は同じです。
  • 最初のテストを行う前に、チェックボックスはそのままにしておいてください。まだ保存されていない接続では、そのチェックボックスだけが暗号化を有効にする唯一の要因となります。

回転は、あなたが遭遇するものです

Herokuはメンテナンス中にデータベースの認証情報を変更しますが、エージェントはユーザーが指定した情報を保存します。

  • Herokuのローテーションが行われると、DATABASE_URLが変更され、保存されていた認証情報が機能しなくなります。このことは、ユーザーが自分で発見するのではなく、ログイン時にカードに明記されています。
  • 修正方法は、現在のDATABASE_URLを古いものに上書きすることです。下流のすべての処理に影響します。 保存されたクエリ、スケジュール、共有などは、認証情報ではなく接続を参照するため、引き続き機能します。
  • 自動同期機能はありません。Query StreamsはHerokuの設定変数を読み取らないため、再貼り付けは手動で行う必要があり、後で困らないようにするためにも知っておくと良いでしょう。
  • 貼り付けられた文字列自体は保存されません。フォームへの入力のために一度読み込まれた後、破棄されるため、パスワードは2か所ではなく1か所に保存されます。
-- 通常の Postgres、読み取り専用、TLS 経由 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

Herokuを他のデータと連携させる

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

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

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

一つの声明

-- コピーなし、マージなし、スケジュールなし
セレクト   c.region、COUNT(*) AS orders、SUM(i.amount_due) AS invoiced
フロム     heroku_app公共命令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つのソースが渡せるデータ量には上限があります。 フェデレーションクエリの仕組み

接続の詳細

Herokuが必要とするもの

ホスト
ec2-12-34-56-78.compute-1.amazonaws.com のような単なる EC2 名。これには Heroku を識別する情報は何もありません。
ポート
5432
ドライバ
Npgsqlはエージェントによって提供されるため、Heroku側でインストールする必要はありません。
貼り付け形式
設定の「構成変数」からDATABASE_URLをpostgres:// URIとして取得します。
TLS
必須。暗号化済み。証明書チェーンは検証されていません。これはHerokuの自己署名証明書に必要な要件です。
プーリング
なし。エージェントはHerokuに対してプーラー適応を適用しません。
資格証明書
Herokuのメンテナンス中にローテーションされます。その場合は、現在のDATABASE_URLを再貼り付けしてください。自動同期は行われません。
保存先
PostgreSQL、Herokuはバッジとして保持されています。ホスト名は匿名であるため、このカードから保存した場合にのみバッジが存在します。
デフォルトスキーマ
連邦参照が持つパブリックなもの

Herokuは、基盤となる設計を可視化するプリセットです。ここにある各カードは、実際のエンジンとして保存され、プロバイダをラベルとして保持します。そして、ほとんどの場合、このラベルは念のための措置です。ホスト名を見れば、いずれにしてもプロバイダが分かってしまうからです。Herokuにはこのような代替手段がないため、ラベルが唯一の記録となります。そのため、このカードを通して古い接続を再作成することが、ブランディングの欠落を解決する唯一の方法であり、後から修正する方法がないのです。

このカードの中で最も実用的なのは、認証情報ローテーションに関する警告です。Herokuがメンテナンス中に認証情報をローテーションするのは正常な動作であり、障害ではありません。そして、その際に発生するエラーは、まるで誰かがパスワードを変更したかのような認証エラーです。DATABASE_URLを再貼り付けするだけで解決できることを事前に知っていれば、混乱を招く障害もわずか30秒で解決できます。

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

ベンダー資料: www.heroku.com

よくある質問

Heroku Postgresに関する質問

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

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

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

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

Heroku Postgresでは、クエリストリームによってデータを変更できますか?

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

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

到達可能なホスト、ロール、およびそのパスワード - エージェントがドライバーを運ぶため、データベースには何もインストールされません。 ホスト: ec2-12-34-56-78.compute-1.amazonaws.com のような EC2 名のみ - Heroku を識別する情報は何もありません。 ポート: 5432。 ドライバー: Npgsql、エージェントが運びます - Heroku 側でインストールするものは何もありません。 貼り付け形式: 設定の Config Vars から DATABASE_URL を postgres:// URI として貼り付けます。

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

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

Heroku Postgresへの接続は、PostgreSQLへの接続と異なりますか?

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

HerokuからExcelへの移行ガイドはありますか?

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

Herokuは作業が行われる場所に置くべきだ。

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

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