世界を動かす技術を、日本語で。

VS CodeにおけるPostgres IDE

概要

  • Visual Studio Code向けPostgreSQL拡張機能 のパブリックプレビューを発表
  • IntelliSenseGitHub Copilot (@pgsql) との統合でデータベース管理と開発を効率化
  • Entra ID認証Azure Database for PostgreSQL との連携でセキュリティと利便性を強化
  • AI支援・自然言語操作、スキーマ可視化など豊富な新機能を搭載
  • 開発生産性の向上とワークフローの簡素化を実現すること

Visual Studio Code向けPostgreSQL拡張機能 パブリックプレビュー発表

拡張機能の概要と目的

  • PostgreSQL拡張機能 をVisual Studio Code (VS Code)で利用可能にすることで、 データベース管理と開発作業 を統合すること
  • IntelliSense‘@pgsql’ GitHub Copilotエージェント による文脈認識型支援を実現し、クエリ作成やデータベース操作をエディタ内で完結すること
  • StackOverflow Developer Survey 2024 によると、41%の開発者がタスク切替に課題を感じていることを踏まえ、 タスク切替の負担軽減 を目指す提案
  • Stripe Developer Coefficient Report 2024 で指摘された、開発時間の最大50%がデバッグやトラブルシューティングに費やされている現状の改善を意図すること
  • アプリ開発とデータベース管理 を一元化し、分断されたワークフローの解消を図ること

主な機能と特徴

  • Postgresデータベースツール@pgsql Copilotエージェント の統合による統一開発体験の提供
  • Entra ID認証 による集中型アイデンティティ管理と、 Azure Database for PostgreSQL との深い連携を実現すること
  • スキーマ可視化 を右クリックメニューから簡単に実施可能(例: Object Explorerで「Visualize Schema」を選択すること)
  • AI支援 によるクエリ作成・最適化・パフォーマンス分析・セキュリティ強化を実現すること
  • 自然言語コマンド (例:「@pgsql」)でデータベース操作やスキーマ最適化、SQL実行を簡易化すること
  • コンテキストメニュー (例:「Rewrite Query」「Explain Query」「Analyze Query Performance」)からAI活用を促進すること
  • GitHub Copilot Chatエージェントモード で、データベース文脈を考慮したマルチステージタスクを自動化・支援すること
  • ユーザー許可が必要なデータベース変更 による安全性の確保

接続と認証管理

  • ローカル・クラウド両対応 のPostgreSQLインスタンス接続管理を簡素化すること
  • 複数の接続プロファイル接続文字列解析 によるセットアップの迅速化
  • Azure Database for PostgreSQL のデプロイメントを直接閲覧・フィルタリングすること
  • Entra ID統合 でセキュリティ・アイデンティティ管理を強化すること
    • 「Browse Azure」オプションからAzure上のデータベースへ簡単に接続すること
    • ローカルDockerデプロイメント にも接続可能
  • シームレスな認証トークン自動更新 で開発中の認証切れリスクを低減すること
  • 企業向けセキュリティ標準 に準拠し、既存のEntra ID資格情報を活用すること

データベースオブジェクト管理とクエリエディタ

  • スキーマ・テーブル・関数 等のデータベースオブジェクトの構造化ビューを提供すること
  • オブジェクトの作成・変更・削除 をVS Code内で実施可能にすること
  • セッションごとのクエリ履歴 をObject Explorer下部で確認・再利用すること
  • 文脈認識型IntelliSense によるSQLキーワード・テーブル名・関数の自動補完を活用すること
  • 構文ハイライト・自動フォーマット でクエリの可読性を向上すること

拡張機能の優位性と導入方法

  • 生産性向上 :IntelliSenseやSQLフォーマット機能で作業効率と精度を高めること

  • @pgsql GitHub Copilot Chatエージェント :データベース・ワークスペース文脈を活用した高度な開発支援を提供すること

  • 簡単なオンボーディング :Connection Managerで数分で利用開始できること

  • セキュリティ強化 :Entra ID連携によるアクセス制御と集中管理を実現すること

  • 包括的なツールセット :データベース管理・クエリ実行・インスタンス展開を一つのエディタで完結すること

  • クラウド連携 :Azure Database for PostgreSQLとの統合でクラウドデータベース管理を簡素化すること

  • インストール手順

    • VS Codeの拡張機能ビューを開くこと
    • Marketplaceで「PostgreSQL」を検索すること
    • プレビュー版(青い象のアイコン)の拡張機能(ID: ms-ossdata.vscode-pgsql)を選択・インストールすること
    • GitHub Copilot および GitHub Copilot chat 拡張機能も併せてインストールし、「@pgsql」コマンドでデータベースと対話すること

フィードバック・ライセンスについて

  • VS Code内蔵のフィードバックツール から意見や不具合報告を送信すること
  • 初期リリースのプレビューライセンス は今後更新予定であり、全てのPostgresユーザーが平等に利用できることを目指すこと
  • ライセンス更新情報を随時確認すること

まとめ・次のステップ

  • PostgreSQL拡張機能 は開発効率・生産性を大幅に向上させること
  • パブリックプレビュー版 をぜひ体験し、PostgreSQL開発ワークフローの進化を実感すること
  • 詳細や開始方法は公式ドキュメント(https://aka.ms/pg-vscode-docs)を参照すること
  • Jonathon Frost (Principal PM)への特別謝辞を表明すること

Hackerたちの意見

おお、これすごいね。Postgresのためにこんなに頑張ってくれたのは驚きだよ、SQL Serverじゃなくて。需要がかなり高いに違いないね。

それはMSSQLツールがAzure Data Studioの一部としてメンテナンスされていて、状態が良かったからだと思う。ADSはもう終わりに向かってるし、VS CodeでPostgresの拡張機能をインストールしようとしたとき、最後の重要な貢献が6年前だったことに驚いたよ。新しいVS Codeのバージョンでは動かなかった。俺はPostgresとMSSQLの両方でADSを使ってたけど、この発表の前は移行先がなかったからずっとADSを使い続けてたんだ。[0] https://github.com/microsoft/vscode-postgresql/commits/maste...

もうSQL Server Management Studio[1]があるから、似たようなことはカバーしてるみたいだね?SSMSをVSCodeに移行したいのかもしれないから、新しい分野、PostgreSQLをカバーすることで試してみるのは理にかなってると思う。[1]: https://learn.microsoft.com/en-us/ssms/sql-server-management...

コパイロットの統合がめっちゃいい感じだし、スキーマビューもいいね。MSSQLの拡張機能にはそれがないけど、他はPostgresのやつと似てる。

もうVS Code用のMicrosoft SQL Server拡張があって、これはそれのクローンみたいだね。ちょっと試してみたけど、SQL Server拡張と同じように見えるし、感じも同じだよ。メニューやダイアログも同じだしね。SQL Server拡張が、今は廃止されたAzure Data Studio(VS Codeのフォーク)の基盤になったと思うよ。SQL Server拡張はこちらで確認してね: https://marketplace.visualstudio.com/items?itemName=ms-mssql...

SQLサーバーは今、「キャッシュカウモード」って感じだね。ツールにもっと投資しても、今の段階では収益が増えるとは思えないよ。

SQLiteに似たようなものがあればいいのに。

MS SQLサーバーはレガシーシステムだね。技術的な理由で他に選択肢がない限り、新しいデータベースをSQLサーバーで作るビジネスはないと思うよ。

マイクロソフトはここ10〜15年でオープンソースに全力投球してるみたい。消費者の視点から見ると、ほとんどの人が恩恵を受けてるよね。ビジネスの視点から見ると、無償のサポートとコミュニティからの評価を得てるんだ。

僕はマイクロソフトの開発者アドボケートだけど、両方のチームが拡張機能の改善にすごく努力してるのを見てきたよ。SQL Server拡張と新しいPostgreSQL拡張の両方のチームと一緒にユーザビリティスタディに参加したし、準備が整ったらバグバッシュにも参加した。両チームとも開発者がツールを楽しんでほしいと思ってるから、必要なことについてフィードバックを送ってあげてね。SQL Server拡張のニュースが欲しいならCarlos Roblesをフォローしてね: https://www.linkedin.com/in/croblesm/ PostgreSQLサーバー拡張のニュースが欲しいならJoshua Johnsonをフォローしてね: https://www.linkedin.com/in/johnsonjoshuae/

JetBrainsがVSCodeに勝ってる最大のポイントは、内蔵のデータベースツールがめっちゃクリーンなところだね。

データベースツールを別に(DataGrip)使うこともできるよ。俺はそうしてる。

Hacker Newsで議論の続きを見る