首页Developer Toolssupabase/postgres_lsp
supabase

postgres_lsp

Database#Postgres#LSP#SQL#Developer Tools
前往 GitHub →
5,225

// 项目简介

postgres_lsp 是一套全面的工具链和 Language Server Protocol 实现,旨在提升 Postgres 的开发体验。它利用原生的 libpg_query 解析器,在各种编辑器集成和 CLI 工具中提供 100% 的语法兼容性。该项目提供了包括自动补全、类型检查和数据库 linting 在内的多种功能,以简化 SQL 工作流程。

// 技术分析

Postgres Language Server 被设计为一个多功能的工具链,利用原生的 libpg_query 解析器来确保与 Postgres 100% 的语法兼容性。通过采用与传输协议无关的服务器-客户端架构,该项目为各种环境(包括 LSP、CLI、HTTP 和 WebAssembly)下的 SQL 工具提供了统一的接口。这种方法通过将类型检查和 linting 等复杂功能集中到一个易于访问的生态系统中,有效地弥补了 Postgres 开发工具的空白。

// 核心亮点

01
利用官方的 libpg_query 解析器,确保与 Postgres 的完全语法兼容性。
02
提供智能自动补全和悬停文档,以提高 SQL 编辑器中的开发效率。
03
通过利用 EXPLAIN 错误洞察实现高级类型检查,从而尽早发现潜在的运行时问题。
04
包含强大的迁移和数据库 linting 功能,以强制执行最佳实践并识别与模式相关的问题。
05
提供全面的 PL/pgSQL 支持,为存储过程和函数提供更好的开发体验。
06
支持包括 VSCode、Neovim 和 Zed 在内的多种编辑器,确保了不同开发者工作流程的灵活性。

// 典型使用场景

01
为 SQL 提供智能自动补全和悬停文档
02
实时的语法诊断和 PL/pgSQL 类型检查
03
用于可靠代码的自动化数据库和迁移 linting

// 快速开始

首先,开发者可以通过官方发布页面安装 CLI,或使用提供的 VSCode、Neovim 或 Zed 扩展将服务器集成到首选编辑器中。对于本地开发,该项目支持基于 Nix 的环境,并包含一个 docker-compose 配置,以便快速启动必要的依赖项。