11 पॉइंट द्वारा GN⁺ 2025-03-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Postgres के लिए समर्पित Language Server Protocol (LSP) इम्प्लीमेंटेशन और विभिन्न डेवलपमेंट टूल्स प्रदान करता है
  • Postgres के बेसिक parser libpg_query पर आधारित होने के कारण, यह Postgres syntax के साथ 100% compatible स्थिर SQL सुविधाएँ प्रदान करता है
  • इसे server-client संरचना में डिज़ाइन किया गया है और transport method से स्वतंत्र एक flexible डिज़ाइन अपनाया गया है
  • इसके जरिए Language Server Protocol के साथ-साथ CLI, HTTP API, WebAssembly module जैसे विभिन्न interfaces के रूप में सुविधाओं का उपयोग किया जा सकता है
  • लक्ष्य यह है कि मौजूदा बेहतरीन Postgres tools को अधिकतम आसान तरीके से सुलभ बनाया जाए, और जहाँ कमी हो वहाँ सीधे विकास किया जाए
  • वर्तमान में इम्प्लीमेंट की गई सुविधाएँ:
    • auto-completion सुविधा
    • syntax error highlighting समर्थन
    • EXPLAIN कमांड का उपयोग करने वाली type checking सुविधा
    • Squawk से प्रेरित SQL linter सुविधा शामिल

1 टिप्पणियां

 
GN⁺ 2025-03-30

Hacker News राय

  • Postgres Language Server का शुरुआती वर्ज़न जारी किया गया है
    • VSCode extension, nvim-lspconfig, mason, और npm से install किया जा सकता है
    • यह 2 साल तक कई तरह के trial and error के बाद बना प्रोजेक्ट है
    • फिलहाल इसे practical और simple तरीके से काम करने के लिए बनाया गया है
    • Biome codebase से काफ़ी प्रेरणा मिली और उससे बड़ी मदद भी मिली
    • यह Rust में implement किया गया है, और Rust में योगदान देना चाहने वाले लोगों का स्वागत है
  • अभी यह केवल SQL statements को support करता है, और आगे चलकर PL/pgSQL को भी support करने की योजना है
    • यह PostgreSQL की SQL dialect का पालन करता है और Postgres parser का उपयोग करता है
    • DB connection देने पर यह pg_catalog tables के ज़रिए metadata पढ़ता है
    • connection जानकारी न होने पर यह feature disable हो जाता है
  • JetBrains IDE लंबे समय से बेहतरीन SQL support देते आए हैं। इसका FOSS विकल्प अब आखिरकार आना सकारात्मक है
  • IntelliJ DB tools कोई बहुत खास नहीं हैं, और SQL Squirrel जैसे पुराने tools भी काफ़ी अच्छे हैं
  • अगर आप DB को अक्सर नहीं बदलते, तो यह शायद उतना उपयोगी न लगे
    • Supabase जैसे platforms में, जहाँ SQL में बहुत सारा logic लिखा जाता है, यह बहुत उपयोगी है
    • अगर आप SQL functions, RLS, migration files वगैरह अक्सर संभालते हैं, तो इससे काफ़ी मदद मिल सकती है
  • Postgres syntax बहुत जटिल है और अक्सर बदलता रहता है, इसलिए मौजूदा tools के लिए लगातार support देना मुश्किल होता है
    • Postgres server के असली parser से निकाले गए libpg_query का उपयोग करके इस समस्या को हल किया गया है
  • JetBrains tools केवल query का analysis नहीं करते, बल्कि उन्हें असली tables से match भी करते हैं
    • code के अंदर SQL strings का analysis कर पाना भी प्रभावशाली है
  • PL/pgSQL codebase को migration files के रूप में manage करने वाले लोगों के लिए इसे game changer माना गया है