New Postgres Language Server: postgres-lsp

Posted on 2026-06-21 by Gavin M. Roy
Related Open Source

Built on tree-sitter-postgres, postgres-lsp implements the Language Server Protocol for PostgreSQL SQL and PL/pgSQL. Point your editor at it for .sql files and get diagnostics, navigation, completion, and formatting backed by real PostgreSQL grammar rather than regex heuristics.

Features

  • Diagnostics — Parse errors from tree-sitter reported as LSP diagnostics
  • Semantic Tokens — Syntax highlighting via semantic token classification
  • Document Symbols — Outline of DDL statements (tables, functions, views, etc.)
  • Workspace Symbols — Search across all open files
  • Go to Definition — Navigate to table, function, type, and column definitions
  • Find References — Find all usages of a symbol across the workspace
  • Hover — Show definition source on hover
  • Completion — Context-aware completion for keywords, tables, columns, and functions
  • Signature Help — Parameter hints for function calls
  • Folding Ranges — Collapse multi-line statements
  • Rename — Rename symbols across the workspace
  • Code Actions — Quick fixes and refactor rewrites
  • Formatting — Reformat SQL using the styles supported by libpgfmt: river, mozilla, aweber, dbt, gitlab, kickstarter, mattmc3, pg_dump
  • PL/pgSQL Support — Parses PL/pgSQL function bodies with language injection

Binaries and Installation instructions are available @ https://github.com/gmr/postgres-lsp.