- Vorstellung des Postgres Language Server, eines Tools, das zur Verbesserung der Postgres-Erfahrung von Entwicklern entwickelt wurde und derzeit aktiv weiterentwickelt wird
- Das Language Server Protocol ist ein offenes Protokoll, das Code-Intelligence-Werkzeuge wie Code-Vervollständigung und Syntaxhervorhebung bereitstellt; der Postgres Language Server ist eine auf Postgres spezialisierte Implementierung dieses Protokolls
- Der Server bietet Funktionen wie semantische Hervorhebung, Diagnose von Syntaxfehlern, Anzeige von SQL-Kommentaren, Autovervollständigung, Code-Ausführung und Einstellungen zur Code-Formatierung
- Die Motivation für dieses Projekt war, dass die Unterstützung für PL/pgSQL in bestehenden IDEs und Editoren begrenzt ist und allgemeine SQL Language Server bei der Verarbeitung der komplexen Syntax von PostgreSQL unzureichend waren
- Der Postgres Language Server verwendet
libpg_query, um den PostgreSQL-Quellcode für das zuverlässige Parsen von SQL-Code zu nutzen. Dieser Ansatz mag unkonventionell sein, ist aber die einzige verlässliche Methode, um alle gültigen PostgreSQL-Abfragen zu parsen
- Sobald der Parser stabilisiert ist und ein robustes Datenmodell implementiert wurde, wird der Language Server grundlegende Funktionen bereitstellen und als Benutzeroberfläche für alle Tools im Postgres-Ökosystem dienen
- Die Roadmap umfasst die Fertigstellung des Parsers, die Implementierung eines robusten Datenmodells, die angemessene Einrichtung des Language Server, die Implementierung grundlegender Language-Server-Funktionen, die Integration bestehender Open-Source-Tools und den Aufbau fehlender Teile
- Das Projekt ist derzeit noch nicht für den Produktionseinsatz bereit und sucht nach Mitwirkenden für die Entwicklung
- Der Server kann mit Cargo, Node und npm installiert werden. Für VS-Code-Nutzer lassen sich sowohl die Server- als auch die Client-Erweiterung durch Ausführen bestimmter Befehle installieren
2 Kommentare
Supabase meint es ernst mit Postgres
Postgres-wasm veröffentlicht – ein PostgreSQL-Server, der im Browser läuft
pg_graphql – eine GraphQL-Erweiterung für PostgreSQL
pg_crdt – Open-Source einer experimentellen CRDT-Erweiterung für Postgrest
Hacker-News-Kommentare
libpg_queryerhält Anerkennung für die Kernkomponenten dieses Servers und betont, dass das Bibliotheks-Ökosystem auf Basis der zentralen C-Bibliothek gesund erhalten wird.plpgsql.libpg_queryzur programmatischen Abfragemanipulation einsetzen.