ホームDeveloper Toolssupabase/postgres_lsp
supabase

postgres_lsp

Database#Postgres#LSP#SQL#Developer Tools
GitHub で見る →
5,225

// 概要

postgres_lsp は Postgres の開発体験を向上させるために設計された、包括的なツールチェーンおよび Language Server Protocol 実装です。ネイティブの libpg_query パーサーを活用することで、さまざまなエディタ統合や CLI ツール全体で 100% の構文互換性を提供します。このプロジェクトは、SQL ワークフローを効率化するためのオートコンプリート、型チェック、データベースのリンティングなど、幅広い機能を提供します。

// 技術解説

Postgres Language Server は、ネイティブの libpg_query パーサーを活用して Postgres との 100% の構文互換性を保証する汎用的なツールチェーンとして設計されています。トランスポートに依存しないサーバー・クライアントアーキテクチャを採用することで、このプロジェクトは LSP、CLI、HTTP、WebAssembly を含むさまざまな環境で SQL ツール向けの統一されたインターフェースを提供します。このアプローチは、型チェックやリンティングといった複雑な機能を単一のアクセス可能なエコシステムに集約することで、Postgres 開発ツールにおけるギャップを効果的に埋めるものです。

// 主要ハイライト

01
公式の libpg_query パーサーを利用し、Postgres との完全な構文互換性を保証します。
02
インテリジェントなオートコンプリートとホバー時のドキュメント表示を提供し、SQL エディター内での開発者の生産性を向上させます。
03
EXPLAIN のエラー情報を活用した高度な型チェックを実装し、潜在的なランタイムの問題を早期に発見します。
04
堅牢なマイグレーション機能とデータベースのリンティング機能を備え、ベストプラクティスの適用とスキーマ関連の問題の特定を支援します。
05
包括的な PL/pgSQL サポートを提供し、ストアドプロシージャや関数の開発体験を向上させます。
06
VSCode、Neovim、Zed を含む幅広いエディターをサポートし、多様な開発者のワークフローに柔軟に対応します。

// ユースケース

01
SQL のためのインテリジェントなオートコンプリートとホバードキュメント
02
リアルタイムの構文診断と PL/pgSQL の型チェック
03
信頼性の高いコードを実現するための自動化されたデータベースおよびマイグレーションのリンティング

// クイックスタート

開始するには、公式のリリースページから CLI をインストールするか、提供されている VSCode、Neovim、または Zed 用の拡張機能を使用してサーバーを好みのエディターに統合します。ローカル開発向けには、このプロジェクトは Nix ベースの環境をサポートしており、必要な依存関係を迅速に立ち上げるための docker-compose 設定も含まれています。