Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wbIAg-002R0S-1z for pgsql-announce@arkaria.postgresql.org; Sun, 21 Jun 2026 13:25:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wbIAf-0038cW-1R for pgsql-announce@arkaria.postgresql.org; Sun, 21 Jun 2026 13:25:09 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wbIAe-0038a7-1w for pgsql-announce@lists.postgresql.org; Sun, 21 Jun 2026 13:25:08 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wbIAb-00000001bAP-3XJ8 for pgsql-announce@lists.postgresql.org; Sun, 21 Jun 2026 13:25:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=mQyC7TB1fKH/RhgL/8mmyygGF8fYjfFtoWfI6TZpWKQ=; b=MP5zJPl8m6HsTJteuTGd46uQvE +vrW3yRg0OFsYX7Byhj5Sb7UbumfeYDC/kx+p/rw7m4jtROI8upgAd1jcB1PdqEWGsUS3L3ZiIQkS zsFSX/wBvcdhuXLIwXfY3Yt7aA20GtnBOMgvj9KXdt3G/b9wWUqn2S9O+c8WKgGRQFiAvZ2VZIbPi 5rh9ivlNO/AsTYaJ2wzz55VbFWD1RriG7XjSL7jL1bfRhHs3LvuIJ4fZcUlZiAF1dMkhY0WfJXzci WznVGO2mtSErCGL0mCwJWdOD6jY8veptloW1DZ/qHcMSsgr2Bkt0xk7S80nG0CYbmzK1TGbxOJ7io wLPj5cIg==; Received: from wrigleys.postgresql.org ([2a02:16a8:dc51::60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wbIAZ-004Qo0-1m for pgsql-announce@lists.postgresql.org; Sun, 21 Jun 2026 13:25:04 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wbIAY-00AEqD-1f for pgsql-announce@lists.postgresql.org; Sun, 21 Jun 2026 13:25:02 +0000 Content-Type: multipart/alternative; boundary="===============6416260086358886314==" MIME-Version: 1.0 Subject: New Postgres Language Server: postgres-lsp To: PostgreSQL Announce From: "Gavin M. Roy via PostgreSQL Announce" Reply-To: gavinmroy@gmail.com Date: Sun, 21 Jun 2026 13:24:09 +0000 Message-ID: <178204824963.766.4580228651132272271@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: ddf2c9a67c00c9e42b0a18e5207fc89e7ea9f1fb321ab2fc708ae63a6abd495e List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============6416260086358886314== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Built on [tree-sitter-postgres](https://github.com/gmr/tree-sitter-postgres= ), [postgres-lsp](https://github.com/gmr/postgres-lsp) implements the [Lang= uage Server Protocol](https://en.wikipedia.org/wiki/Language_Server_Protoco= l) for PostgreSQL SQL and PL/pgSQL. Point your editor at it for `.sql` file= s and get diagnostics, navigation, completion, and formatting backed by rea= l PostgreSQL grammar rather than regex heuristics. ## Features - **Diagnostics** =E2=80=94 Parse errors from tree-sitter reported as LSP d= iagnostics - **Semantic Tokens** =E2=80=94 Syntax highlighting via semantic token clas= sification - **Document Symbols** =E2=80=94 Outline of DDL statements (tables, functio= ns, views, etc.) - **Workspace Symbols** =E2=80=94 Search across all open files - **Go to Definition** =E2=80=94 Navigate to table, function, type, and col= umn definitions - **Find References** =E2=80=94 Find all usages of a symbol across the work= space - **Hover** =E2=80=94 Show definition source on hover - **Completion** =E2=80=94 Context-aware completion for keywords, tables, c= olumns, and functions - **Signature Help** =E2=80=94 Parameter hints for function calls - **Folding Ranges** =E2=80=94 Collapse multi-line statements - **Rename** =E2=80=94 Rename symbols across the workspace - **Code Actions** =E2=80=94 Quick fixes and refactor rewrites - **Formatting** =E2=80=94 Reformat SQL using the styles supported by [libp= gfmt](https://github.com/gmr/libpgfmt): river, mozilla, aweber, dbt, gitlab= , kickstarter, mattmc3, pg_dump - **PL/pgSQL Support** =E2=80=94 Parses PL/pgSQL function bodies with langu= age injection Binaries and Installation instructions are available @ [https://github.com/= gmr/postgres-lsp](https://github.com/gmr/postgres-lsp). --===============6416260086358886314== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable New Postgres Language Server: postgres-lsp
 

New Postgres Language Server: postgres-lsp

Built on = tree-sitter-postgres, postgres-lsp implem= ents the Language Server Proto= col for PostgreSQL SQL and PL/pgSQL. Point your editor at it for = .sql files and get diagnostics, navigation, completion, and formatti= ng backed by real PostgreSQL grammar rather than regex heuristics.

Features

  • Diagnos= tics =E2=80=94 Parse errors from tree-sitter reported as LSP diagn= ostics
  • Semanti= c Tokens =E2=80=94 Syntax highlighting via semantic token classifi= cation
  • Documen= t Symbols =E2=80=94 Outline of DDL statements (tables, functions, = views, etc.)
  • Workspa= ce Symbols =E2=80=94 Search across all open files
  • Go to D= efinition =E2=80=94 Navigate to table, function, type, and column = definitions
  • Find Re= ferences =E2=80=94 Find all usages of a symbol across the workspac= e
  • Hover =E2=80=94 Show definition source on hover
  • Complet= ion =E2=80=94 Context-aware completion for keywords, tables, colum= ns, and functions
  • Signatu= re Help =E2=80=94 Parameter hints for function calls
  • Folding= Ranges =E2=80=94 Collapse multi-line statements
  • Rename<= /strong> =E2=80=94 Rename symbols across the workspace
  • Code Ac= tions =E2=80=94 Quick fixes and refactor rewrites
  • Formatt= ing =E2=80=94 Reformat SQL using the styles supported by libpgfmt: river, mozilla, aweber, dbt, gitlab, kickstart= er, mattmc3, pg_dump
  • PL/pgSQ= L Support =E2=80=94 Parses PL/pgSQL function bodies with language = injection

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

This email was sent to you from Gavin M. Roy. It was delivered on their beh= alf by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to Gavin M. Roy.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============6416260086358886314==--