Visual Studio Code の PostgreSQL 拡張機能

Visual Studio Code用 PostgreSQL 拡張機能 (ms-ossdata.vscode-pgsql) は、データベース開発ツールをエディターに直接取り込みます。 ローカル、オンプレミス、またはクラウドで提供される PostgreSQL サーバーに接続したり、IntelliSense を使用してクエリを記述したり、データベース オブジェクトを探索したり、クエリ プランとスキーマを視覚化したり、VS Code から離れることなく柔軟なサーバー リソースAzure Database for PostgreSQL管理したりできます。 この拡張機能は、AI 支援クエリの作成、分析、およびエージェント駆動型ワークフローの AI アシスタントとも統合されます。

Note

拡張機能は Cursor でも実行 されます。 PostgreSQL AI 機能は両方のエディターでサポートされ、各エディターのネイティブ AI エクスペリエンスに従います。Visual Studio Codeには、エージェント モードと MCP サーバーの登録と共に@pgsqlチャット参加者が含まれますが、Cursor では Connect AI (エージェント モード) または MCP サーバーの登録が使用されます。

概要

拡張機能を初めて使用する場合は、次のいずれかのガイドから始めます。

ゴール ガイド
最初のクエリを実行する クイック スタート: PostgreSQL に接続してクエリを実行する
タスクに適した記事を見つける 一般的なワークフロー
ID、TLS、または保存されたプロファイルを構成する 接続と ID

拡張機能をインストールする

  1. Visual Studio Codeを開く。
  2. 拡張機能ビュー (Ctrl+Shift+X、または macOS のCmd+Shift+X) を開きます。
  3. postgresql を検索します。
  4. Microsoftで PostgreSQL を選択し、[インストール] を選択します。

Tip

インストール後、 PostgreSQL アイコンがアクティビティ バーに表示されます。 これを選択して PostgreSQL ビューを開きます。ここでは、接続を管理し、データベース オブジェクトを探索します。

主要な機能

次のセクションでは、各主要な機能領域の概要を示します。 記事全体の各セクションの最後にあるリンクを選択します。

接続ダイアログ

接続ダイアログでは、Microsoft Entra IDと AWS IAM (RDS/Aurora) の統合認証サポートを使用して、ローカル、オンプレミス、およびクラウドで提供される PostgreSQL サーバーに接続します。 接続パラメーターを個別に入力するか、接続文字列を貼り付けるか、Azure サブスクリプションを参照して、Azure Database for PostgreSQLフレキシブル サーバーと Azure HorizonDB (プレビュー) クラスターを検出します。

  • 3 つの入力モード: ホスト、ポート、データベース、ユーザー名などの個別の値を入力するためのパラメーター、完全な接続文字列を入力するための接続文字列、または Azure 資産を参照して PostgreSQL エンドポイントを持つリソースを選択するためのAzure の参照
  • 保存された接続と最近の接続: 保存されたプロファイルが 接続 リストに表示され、簡単に再利用できます。最近使用した接続は常に使用できます。
  • サーバー グループ: 接続を名前付きグループに整理し、色分けして 接続 ツリー内の接続をすばやく識別します。

詳細については、「接続と ID」および「高度な接続オプション」を参照してください。

オブジェクト エクスプローラー

オブジェクト エクスプローラーには、接続されている PostgreSQL サーバーのナビゲート可能なツリー ビューが用意されています。 サーバー、データベース、スキーマを展開して、テーブル、ビュー、関数、シーケンス、型、拡張機能、ロール、テーブルスペース、イベント トリガーを検査します。

  • 検索: 組み込みの検索を使用して、サポートされているすべての種類のオブジェクトを名前で検索します。
  • スクリプト作成: 任意のオブジェクトを右クリックして、クエリ エディターで開く SELECTCREATEALTERDROP、または EXECUTE スクリプトを生成します。
  • 詳細な更新: ノードを更新して、展開されたすべての子孫を再帰的に更新し、切断せずにスキーマの変更を反映します。

詳細については、 オブジェクト エクスプローラーを参照してください

クエリ エディターと IntelliSense

クエリ エディターでは、PostgreSQL SQL 用の豊富な編集画面が提供されます。 IntelliSense では、テーブル名、列名、関数、スキーマ、キーワード、結合句のコンテキスト対応の入力候補が提供されます。

  • クエリの実行現在のステートメントの実行: エディターの完全な内容を実行するか、カーソル位置のステートメントのみを実行します。
  • コード スニペット: CREATE TABLEINSERTSELECTなどの一般的な SQL パターンを挿入します。
  • クエリ履歴: コマンド パレットから以前に実行したクエリにアクセスして、クエリを再実行または変更します。

詳細については、 クエリ エディターと IntelliSense に関するページを参照してください。

クエリ結果

結果は、エディターの下の PostgreSQL クエリ結果 パネルに表示されます。 結果グリッドでは、並べ替え、フィルター処理、列のサイズ変更がサポートされます。

  • エクスポート: 結果を CSV、JSON、またはExcelに保存します。
  • グラフの視覚化: 結果を折れ線グラフ、横棒グラフ、円グラフ、散布図として視覚化します。
  • グラフ ビュー: Apache AGE のグラフ クエリ結果は、ノードとエッジのビューに自動的に切り替わります。
  • [メッセージ] タブ: 行数、実行時間、およびサーバー メッセージを確認します。

詳細については、 クエリ エディターと IntelliSense に関するページを参照してください。

クエリ プランの可視化

クエリ プラン ビジュアライザーは、パフォーマンスのボトルネックを特定できるように、 EXPLAIN 出力を複数の対話型形式で表示します。

  • 4 つのビュー: ツリー ビュー、Icicle ビュー、テーブル ビュー、およびソース ビュー。
  • メトリック: コストの見積もり、実際の行数、実行時間、ノードごとのバッファー使用量を調べます。
  • プランのインポート: 保存されたプラン ファイルまたはエディター コンテンツをライブ データベース接続なしで視覚化します。
  • Copilot の分析: 計画について AI によって生成された説明を表示するには、Copilot で分析 (Cursor では AI で分析) を選択します。

詳細については、「 クエリ プラン ビジュアライザー」を参照してください。

スキーマ ビジュアライザー

スキーマ ビジュアライザーは、対話型のエンティティ関係図を生成します。 テーブルはドラッグ可能なノードとして表示され、列は内部に一覧表示され、外部キーリレーションシップは接続エッジとして表示されます。

  • 色分けされたスキーマ: 各スキーマは、簡単に識別できるように個別の色を受け取ります。
  • 凡例の切り替え: スキーマの凡例を表示または非表示にして、ダイアグラム空間を最大化します。

詳細については、「 スキーマ ビジュアライザー」を参照してください。

サーバー ダッシュボード

サーバー ダッシュボードには、接続されているサーバーの接続プロパティ、サーバーのバージョン、SSL 状態が表示されます。 Azure Database for PostgreSQL フレキシブル サーバーの場合は、Azure Monitor のメトリックも表示されます。 調査タブを使用すると、サーバー アクティビティの特定の領域にドリルダウンできます。

  • 概要: CPU、メモリ、ストレージ、接続、IOPS、およびその他のメトリックをカテゴリ別にグループ化して監視します。
  • クエリ: 実行時間、呼び出し数、またはその他のメトリックによってランク付けされた上位の SQL ステートメントを表示し、個々のクエリの詳細にドリルダウンします。
  • 待機: ランク付けされたテーブルと時間経過グラフを使用して待機イベントを分析します。
  • セッション: アクティブなセッション、ブロック ツリー、ロック アクティビティを検査します。
  • ツール バー アクション: 接続、切断、新しいクエリ エディターの開き、スキーマ ビジュアライザーの起動、AI チャットの開き、ダッシュボード ツール バーから管理アクションAzure開始します。

詳細については、「 サーバー ダッシュボード」を参照してください。

Azure サーバー管理

VS Code から離れることなく、柔軟なサーバー リソースAzure Database for PostgreSQL管理できます。

  • 開始、停止、再起動: 接続 ツリーまたはダッシュボードからサーバーのライフサイクルを制御します。
  • ファイアウォール規則: ネットワーク アクセス規則を表示および更新します。
  • パラメーター: パラメーターを参照および変更します。
  • サーバーを複製: 既存のサーバー構成を複製します。

詳細については、サーバー管理Azure参照してください。

サーバーの作成

VS Code から直接新しい PostgreSQL サーバーをプロビジョニングします。

  • Docker: 開発とテストのために Docker コンテナーにローカル PostgreSQL サーバーを作成します。
  • Azure Database for PostgreSQLフレキシブル サーバー: リージョン、コンピューティング レベル、ストレージ、認証を構成するガイド付きセットアップについて説明します。
  • Azure HorizonDB (プレビュー):構成可能な仮想コアとオプションの AI 機能を使用して、クラウドネイティブでスケーラブルな PostgreSQL クラスターをプロビジョニングします。

詳細については、「 PostgreSQL サーバーの作成」を参照してください。

Copilotの統合 (Copilotの機能を組み込む)

この拡張機能は、チャット、エディター アクション、マルチステップ ツール ワークフロー全体で AI アシスタントと統合されます。

  • @pgsqlチャット参加者: GitHub Copilot Chat パネルで、データベースに関する自然言語の質問、クエリの生成、PostgreSQL の概念に関するヘルプの取得を行います。 Visual Studio Codeのみ。 詳細については、 チャット参加者@pgsql参照してください。
  • エディター アクション: エディターで SQL を右クリックしてクエリを説明するか、最適化のために書き直すか、 AI クエリ アクション サブメニューから実行プランを分析します。 Visual Studio Codeとカーソルの両方で使用できます。
  • エージェント モード: AI エージェントは PostgreSQL ツールを直接呼び出し、AI 推論とライブ データベース操作を組み合わせています。 Visual Studio Codeとカーソルの両方で使用できます。 詳細については、「 エージェント モード」を参照してください。

すべての AI 機能の概要については、Copilot統合に関するページを参照してください。

MCP サーバー

この拡張機能は、接続管理、スキーマ探索、クエリ実行、クエリ プランの視覚化など、PostgreSQL ツールをサポートされている AI 対応ホストに公開するモデル コンテキスト プロトコル (MCP) サーバーを登録します。 外部 AI ツールは、この登録を通じて、PostgreSQL 接続とプログラムで対話できます。

詳細については、 MCP サーバーを参照してください。

ターミナルで psql を使用する

psqlツリー内の任意のデータベースに接続されているターミナル セッションを開くか、エディターのコンテキスト メニューから直接.sqlpsqlファイルを実行します。 これにより、psqlメタ コマンド、\、対話型スクリプトなどのネイティブ COPY機能にフル アクセスできます。

詳細については、 ターミナルでの psql の使用を参照してください。

Oracle から PostgreSQL への移行

AI 支援型の移行ワークフローは、Oracle データベースのスキーマとオブジェクトを PostgreSQL と互換性のある SQL に変換するのに役立ちます。

  • ガイド付き移行: Oracle ソースに接続し、移行するオブジェクトを選択して、変換された出力を確認します。
  • AI 支援型変換: Microsoft Foundry モデルでは、Oracle 固有の構文、データ型、手続き型コードが PostgreSQL に相当するものに変換されます。

詳細については、 Oracle から PostgreSQL への移行に関するページを参照してください。

サポートされるオペレーティング システム

オペレーティング システム Architecture メモ
Windows x64、Arm64 Arm64 にはWindows 11が必要です。
macOS x64、Arm64 -
Linux x64、Arm64 glibc 2.35 以降が必要です。

フィードバックとサポート

バグを報告したり、機能を要求したりするには、vscode-pgsql GitHub リポジトリに問題を報告します。