17 Punkte von GN⁺ 2023-08-07 | 2 Kommentare | Auf WhatsApp teilen
  • 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

 
GN⁺ 2023-08-07
Hacker-News-Kommentare
  • Der Postgres-Sprachserver ist ein neues Tool, das unter technisch versierten Menschen für Begeisterung sorgt.
  • Der ursprüngliche Autor von libpg_query erhält Anerkennung für die Kernkomponenten dieses Servers und betont, dass das Bibliotheks-Ökosystem auf Basis der zentralen C-Bibliothek gesund erhalten wird.
  • Nutzer äußern Vorfreude auf mögliche Verbesserungen bei SQL-/Datenbank-Tools, insbesondere bei der Formatierung von plpgsql.
  • Es werden Fragen dazu gestellt, ob der Server automatisch den „LSP-Kontext“ wechseln kann und ob er Erweiterungen wie PostGIS unterstützt.
  • Das Potenzial des Servers, die Developer Experience rund um Postgres zu verbessern, wird gelobt, wobei Unternehmen wie Omnigres libpg_query zur programmatischen Abfragemanipulation einsetzen.
  • Einige Nutzer fragen sich, ob der Server sich mit einer echten Datenbank verbindet, um Listen von Tabellen, Spalten usw. abzurufen, oder ob er ohne Informationen aus dem Data Dictionary lediglich Rohtext parst.
  • Es gibt Nachfragen zur möglichen Nutzung des Servers in IDEs wie JetBrains oder VSCode und dazu, ob erfahrene Entwickler die Gelegenheit haben, zum Projekt beizutragen.
  • Dass der Server sich „nur auf Postgres“ konzentriert, wird von Nutzern positiv aufgenommen.
  • Nutzer sind gespannt darauf, wie sich der Server weiterentwickeln wird; einige hoffen auf eine bessere IDE-Erfahrung für die SQLPage-Website.
  • Die Entwicklung des Servers wird als ein längst überfälliger Schritt angesehen, der das Schreiben von SQL in der IDE erleichtern sollte.