Azure Database for PostgreSQL のロゴ

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

接続する Azure Database for PostgreSQL Excel、Google Sheets、AI、RESTへ

Azure Database for PostgreSQL は、直接接続または組み込みの PgBouncer を介して接続できる、柔軟なサーバーです。

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

Azure PostgreSQL のデータはどこに保存できますか?

Query Streams は、Microsoft Excel、Google Sheets、Power BI、MCP 経由の AI アシスタント、および REST エンドポイントから、読み取り専用接続を介して Azure Database for PostgreSQL を読み取ります。ネットワーク エージェントは VNet 内の VM 上で実行され、外部にダイヤルアップ接続するため、サーバーはパブリック アクセスやファイアウォール ルールを必要としません。すべての Azure ホストで TLS が強制され、ポート 6432 の組み込み PgBouncer が自動的に認識され、適応されます。

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

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

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

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

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

    PostgreSQLガイド
  4. NovaにAzure PostgreSQLについて聞いてみてください Nova AI · テキストからSQLへ

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

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

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

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

    Azure PostgreSQLクエリを、認証済みのJSONエンドポイントとして公開します。このエンドポイントは、OpenAPI 3.1仕様に準拠しており、Postman、Insomnia、Hoppscotch用の既製コレクションも用意されているため、どのアプリケーションでも呼び出すことができます。データベースポートは開かれません。

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

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

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

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

    PostgreSQLガイド
  10. Azure PostgreSQL から Baserow へ 自動化プラットフォーム

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

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

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

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

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

    PostgreSQLガイド
  13. Azure PostgreSQL から Anvil へ Anvil Works · アプリプラットフォーム

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

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

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

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

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

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

仕組み

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

01

VNet内のWindowsまたはLinux仮想マシンにネットワークエージェントをインストールしてください。外部への接続のみを行うため、サーバーはパブリックアクセスをオフにしたままにでき、受信ルールを追加する必要はありません。

02

Azureポータルの「設定」→「接続」からURIを貼り付けてください。サーバー名、ポート番号、データベース名、ユーザー名はそのまま読み込まれます。

03

直接接続か、内蔵のPgBouncerを選択してください。直接接続はポート5432でデフォルト設定です。PgBouncerは同じホスト上のポート6432で、このカードは両者のポートが一致しない状態を許容しません。

04

シンプルなユーザー名を使用してください。Flexible Serverは、廃止された単一サーバーで必要だったuser@servernameという形式を削除しました。また、カードは@記号が紛らわしいログイン失敗になる前に拒否します。

05

保存します。スキーマはinformation_schemaとpg_catalogを介して読み込まれ、Microsoft Excel、Google Sheets、Power BI、MCP、およびRESTはすべて、その単一の接続を介してデータベースを読み取ります。

機能の詳細解説

Azure PostgreSQLが提供するもの

PgBouncerは、単に容認されるだけでなく、適切に対処されます。

Azureのフレキシブルサーバーは、同じホストのポート6432でトランザクションモードで動作する、オプトイン方式のPgBouncerを同梱しています。トランザクションモードはクライアントを静かに切断するモードであるため、エージェントはこのポートを検出すると自身の動作を変更します。

  • 自動準備機能は無効になっています。Npgsqlの自動準備機能は名前付きプリペアドステートメントを使用しますが、名前付きステートメントはトランザクション間でバックエンドが他の処理に引き継がれると保持されません。
  • トランザクションモードでは、返される接続と返される接続が異なるため、セッションは閉じてもリセットされません。
  • どちらもあなたが設定できるものではありません。プールモードを選択するか、6432を含む文字列を貼り付ければ、適切な動作が得られます。
  • まずAzure側で有効にする必要があります — PgBouncerはフレキシブルサーバーのサーバーパラメータであり、単にそこにあるものではありません。

このカードが許さない2つのミス

どちらも役に立つ情報を提供しないエラーメッセージを生成するため、代わりにフォームで捕捉されます。

  • モードと異なるポート。6432以外のポートとプールされている場合、または6432に直接接続されている場合、タイムアウトに渡されるのではなく、理由とともに拒否されます。
  • ユーザー名に「@servername」という接尾辞が付いている場合。これは廃止されたシングルサーバーの形式でしたが、フレキシブルサーバーでは、パスワードが間違っているように見える認証エラーが発生するため、カードはこれを形式の問題として認識します。
  • 先頭または末尾に空白文字が含まれるパスワードも問題視されます。これはほぼ常にクリップボードの残像であり、不透明な認証エラーとして扱われます。

TLSはチェックボックスに任されていません

「SSLを使用する」のチェックボックスはデフォルトでオンになっていますが、エージェントはユーザーがその状態のままにしておくことを前提として動作しません。

  • .postgres.database.azure.com ホストへの接続は、ボックスの表示内容に関わらず、すべて TLS が必須となります。クリップボードで ?sslmode=require が失われた文字列でも、暗号化された状態で接続されます。
  • これはデフォルト設定ではなく、強制的な設定です。フォームからコピーされた値ではなく、エージェント内の Azure プリセットのプロパティです。
  • 証明書チェーンの検証は実行されません ―接続は暗号化されている。それが正直な説明だ。
-- 記述どおりにフレキシブルサーバーに対して読み取りを実行します 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

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

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

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

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

一つの声明

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

接続の詳細

Azure PostgreSQLに必要なもの

ホスト
<server>.postgres.database.azure.com
港
5432番ポートは直接使用、6432番ポートは内蔵PgBouncer用です。どちらの場合も同じホストです。
ドライバ
エージェントによって提供される Npgsql 9.0.3 ― Azure 側でインストールする必要はありません
TLS
必須であり、すべての .postgres.database.azure.com ホストに対してエージェントによって強制されます。
データベース
特に指定しない限り、postgres です。
ユーザー名
ユーザー名はプレーンなもので、@servername のサフィックスは不要です。カードはサーバーに到達する前に拒否します。
プールされた動作
6432番ポートでは、エージェントが自動準備をオフにし、セッション終了時のリセットを停止します。これはトランザクションモードのプーリングに必要な動作です。
PgBouncerの前提条件
pgbouncerサーバーパラメータは、まずフレキシブルサーバーで有効にする必要があります。
認証
ユーザー名とパスワード。Microsoft Entra IDはサポートされていません。
デフォルトスキーマ
連邦参照が持つパブリックなもの

プールされたパスは理解しておくべき重要な部分です。なぜなら、ほとんどのツールがここでひっそりと不具合を起こすからです。トランザクションモードのPgBouncerは、次のステートメントを別のバックエンドに渡すことがあり、その結果、名前付きプリペアドステートメントが無効になり、セッション状態が意味をなさなくなります。そこで、エージェントはポート6432をキーとして、問題を引き起こす可能性のある2つの機能(自動準備とセッション終了時のリセット)を無効にします。プールされた文字列を貼り付けるだけで、設定を探す必要もなく、そのまま動作します。

ユーザー名のルールは、移行時の深刻な問題点を浮き彫りにしています。Azureの廃止されたシングルサーバーではuser@servername形式が求められていましたが、フレキシブルサーバーではプレーンなユーザー名が求められ、古い形式を指定すると形式エラーではなく認証エラーとして処理されてしまいます。どちらの形式が間違っているのかが分かれば、5秒で解決できる問題と半日かかる問題との違いが生まれます。

TLSは要求されるのではなく、強制されます。エージェントはチェックボックスの設定に関係なく、すべてのAzure Postgresホストに対してTLSを要求するため、sslmodeパラメータがどこかで失われた接続文字列でも暗号化された状態で送信されます。ただし、証明書チェーンの検証は行いません。ページにはその旨が明記されており、コードが示す以上の保証を暗示することはありません。

クロスソースクエリの場合、これは通常のPostgresと同じです。azure_pgという接続はazure_pg.public.ordersとして書き込まれ、1つの読み取り専用ステートメントでCSVフォルダー、SQL Serverの記録システム、または課金APIに結合します。

ベンダー資料: azure.microsoft.com

よくある質問

Azure Database for PostgreSQLに関する質問

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

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

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

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

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

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

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

到達可能なホスト、ロール、およびそのパスワード - エージェントがドライバーを運ぶため、データベースには何もインストールされません。 ホスト: <server>.postgres.database.azure.com。 ポート: 5432 を直接、6432 を組み込みの PgBouncer 用 - どちらの場合も同じホストです。 ドライバー: Npgsql 9.0.3、エージェントが運ぶ - Azure 側でインストールする必要はありません。 TLS: 必須、すべての .postgres.database.azure.com ホストに対してエージェントによって強制されます。

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

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

Azure Database for PostgreSQLへの接続は、PostgreSQLへの接続と異なりますか?

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

Azure PostgreSQLからExcelへの変換ガイドはありますか?

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

Azure PostgreSQLを作業が行われる場所に配置する

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

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