Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

Visual Studio Code から PostgreSQL を簡単に操作する

こんにちは!オルターブース清島です。

2025年のオルターブース アドベントカレンダー7日目の記事となります。
6日目はChaseさんによる Microsoft 認定資格取得の体験記でした。

adventar.org

11月には Microsoft Ignite の開催に合わせて Microsoft 製品の様々な発表がありましたが、この記事ではその中から「Visual Studio Code の PostgreSQL 拡張機能」について取り上げます。

Visual Studio Code PostgreSQL 拡張機能の概要

公式ドキュメント に詳しく記載されていますが、概要としては次のようになります。

  • PostgreSQL サーバーへの接続・開発・管理をサポートするツール群
  • ローカル/リモートの PostgreSQL サーバーに Visual Studio Code から接続可能
  • Visual Studio Code 上のクエリエディターから SQL クエリを実行可能
  • GitHub Copilot との連携による自然言語での各種データベース操作が可能

拡張機能のインストール手順、PostgreSQL サーバーへの接続、クエリエディターからの SQL クエリ実行、GitHub Copilot との連携についてそれぞれ紹介します。

拡張機能のインストール手順

  1. Visual Studio Code 左メニューバーの拡張機能アイコンを選択
  2. 検索窓に microsoft postgresql と入力
  3. 発行元が Microsoft の PostgreSQL 拡張機能のインストールボタンをクリック

PostgreSQL拡張機能のインストール手順

インストールが完了すると、左メニューバーに PostgreSQL のアイコンが追加され、クリックすると CONNECTIONS / QUERY HISTORY / MIGRATIONS (PREVIEW) の3つで構成されるウィンドウが表示されるようになります。

PostgreSQL への接続

ローカル/リモートにかかわらず、任意の PostgreSQL サーバーに接続することができます。

ローカルの場合

次のようなコマンドを実行して PostgreSQL サーバーの Docker コンテナがローカルで起動している状態を例とします。

docker pull postgres:18
docker run --name postgres-container -e POSTGRES_PASSWORD={任意のパスワード} -d postgres:18
  1. PostgreSQL 拡張機能ウィンドウ > CONNECTIONS > + 接続の追加 または CONNECTIONS メニューの右横にある Add New Connection アイコンを選択
  2. 表示された サーバーに接続 タブで、選択した接続方法に応じた項目を入力(下記はパラメーターで接続する場合の入力例)
    • サーバー名: localhost
    • 認証の種類: パスワード
    • ユーザー名: 接続に使用するユーザー名
    • パスワード: 接続に使用するユーザーのパスワード
  3. テスト接続 ボタンをクリックし、入力した情報で PostgreSQL サーバーに接続できるかどうか検証する
    • ボタンにチェックマークが表示されたら検証成功です
  4. 保存して接続 ボタンをクリックし、対象の PostgreSQL サーバーに接続する

リモートの場合

Azure Database for PostgreSQL が事前に作成されている状態を例とします。

  1. PostgreSQL 拡張機能ウィンドウ > CONNECTIONS > + 接続の追加 または CONNECTIONS メニューの右横にある Add New Connection アイコンを選択
  2. 表示された サーバーに接続 タブで、選択した接続方法に応じた項目を入力(下記はパラメーターで接続する場合の入力例)
    • サーバー名: リモートの PostgreSQL サーバーのエンドポイント
    • 認証の種類: パスワード
    • ユーザー名: 接続に使用するユーザー名
    • パスワード: 接続に使用するユーザーのパスワード
  3. テスト接続 ボタンをクリックし、入力した情報で PostgreSQL に接続できるかどうか検証する
  4. 保存して接続 ボタンをクリックし、対象の PostgreSQL に接続する

Azure Database for PostgreSQL への接続の場合は、サポートされる接続設定がさらに拡張されます。

  • 接続方法として Azure を参照 も使用可能
  • 認証の種類として Entra 認証 も使用可能(接続方法がパラメーターや接続文字列の場合も使用可能)

クエリエディターからの SQL クエリ実行

  1. PostgreSQL 拡張機能ウィンドウ > CONNECTIONS > 接続した PostgreSQL サーバーの任意のデータベースを右クリックし、New Query を選択
  2. 表示されたクエリエディターに SQL を記述し、右上の Execute PostgreSQL Query アイコンをクリック または Shift + Enter を入力しクエリを実行する

クエリの実行結果は、実行時に自動的に表示される POSTGRESQL QUERY RESULTS タブ または 拡張機能ウィンドウの QUERY HISTORY から確認できます。

データベースに存在するテーブルやその定義、テーブルどうしの関係性を可視化する Visualize Schema 機能も提供されており、データベースの中身を素早く直感的に確認することができます。

GitHub Copilot との連携

  1. PostgreSQL 拡張機能ウィンドウ > CONNECTIONS > 接続した PostgreSQL サーバーの任意のデータベースを右クリックし、New Query を選択
  2. 表示されたクエリエディターの右上にある Chat with this query アイコンをクリックし GitHub Copilot Chat ウィンドウを表示する
    • クエリエディターを開いたときに紐づけたデータベースに対して、デフォルトで read/write 権限を持つ GitHub Copilot とのチャットウィンドウです。
  3. チャットウィンドウでデータベースに関する指示や質問を自然言語で送信する
    • 送信されたプロンプトの内容に応じて GitHub Copilot が回答を出力したり SQL クエリを実行したりします。

PostgreSQL サーバーへの接続設定のうち、詳細設定 > Copilot から GitHub Copilot に割り当てる権限を変更することができます。

GitHub Copilot に割り当てる権限を 読み取り専用 に変更すると、クエリエディターから GitHub Copilot Chat ウィンドウを開いたときに表示される GitHub Copilot の権限が read-only に変わっています。

この状態で書き込み操作を指示するようなプロンプトを送信しても、権限が足りないため操作を実行できないとの回答が出力され、GitHub Copilot によるデータベースの書き込み操作が制限されていることがわかります。

まとめ

今回は Visual Studio Code から任意の PostgreSQL サーバーに接続し、より簡単なデータベース操作をサポートする PostgreSQL 拡張機能を紹介しました。

GitHub Copilot との連携だけでなくデータベースの内容の可視化、複数パターンの接続方法・認証方法の提供など、想像以上に機能が充実している印象です。

特に GitHub Copilot に対する権限を読み取り専用に変更可能な点は、GitHub Copilot による想定外のデータベース変更を未然に防ぐガードレールとして重宝されるのではないでしょうか。

こうした便利な機能をうまく使いこなして、これまで手間がかかっていた作業をより効率よく進められるようにしていきたいですね。

明日以降も様々な内容の記事が投稿されますのでお楽しみに!


サービス一覧 www.alterbooth.com cloudpointer.tech www.alterbooth.com