11 puan yazan GN⁺ 2025-03-30 | 1 yorum | WhatsApp'ta paylaş
  • Postgres'e özel bir Language Server Protocol (LSP) uygulaması ve çeşitli geliştirme araçları sunuyor
  • Postgres'in temel ayrıştırıcısı libpg_query temel alınarak, Postgres söz dizimiyle %100 uyumlu ve güvenilir SQL özellikleri sağlanıyor
  • Sunucu-istemci mimarisiyle tasarlandı ve aktarım yönteminden bağımsız esnek bir tasarım benimsiyor
  • Bu sayede özellikler yalnızca Language Server Protocol üzerinden değil, CLI, HTTP API, WebAssembly modülü gibi çeşitli arayüzler üzerinden de kullanılabiliyor
  • Amaç, mevcut harika Postgres araçlarını mümkün olduğunca erişilebilir hale getirmek ve eksik kalan yerleri doğrudan geliştirmek
  • Hâlihazırda sunulan özellikler:
    • Otomatik tamamlama
    • Söz dizimi hatası vurgulama desteği
    • EXPLAIN komutunu kullanan tip denetimi
    • Squawk'tan ilham alan bir SQL linter özelliği

1 yorum

 
GN⁺ 2025-03-30

Hacker News görüşleri

  • Postgres Language Server'ın ilk sürümü yayımlandı
    • VSCode eklentisi, nvim-lspconfig, mason ve npm üzerinden kurulabiliyor
    • 2 yıl boyunca çeşitli deneme yanılmalarla geliştirilen bir proje
    • Şu anda pratik ve basit bir şekilde çalışacak biçimde tasarlanmış
    • Biome kod tabanından çok ilham alınmış ve büyük yardım görülmüş
    • Rust ile yazılmış; Rust'a katkı yapmak isteyenler memnuniyetle karşılanıyor
  • Şu anda yalnızca SQL ifadelerini destekliyor; ileride PL/pgSQL desteği de eklenecek
    • PostgreSQL'in SQL lehçesini takip ediyor ve Postgres'in parser'ını kullanıyor
    • Veritabanı bağlantısı sağlanırsa pg_catalog tabloları üzerinden metadata okunuyor
    • Bağlantı bilgisi yoksa bu özellik devre dışı kalıyor
  • JetBrains IDE'leri uzun zamandır mükemmel SQL desteği sunuyordu. FOSS bir alternatifin sonunda ortaya çıkması olumlu
  • IntelliJ veritabanı araçları çok da özel değil; SQL Squirrel gibi eski araçlar da oldukça iyi
  • Veritabanını sık değiştirmiyorsanız çok faydalı olmayabilir
    • Supabase gibi SQL ile çok fazla mantık yazılan platformlarda çok faydalı
    • SQL fonksiyonları, RLS ve migration dosyalarıyla sık çalışıyorsanız ciddi şekilde yardımcı olabilir
  • Postgres sözdizimi çok karmaşık ve sık değiştiği için mevcut araçların buna sürekli destek vermesi zor
    • Sorun, Postgres sunucusunun gerçek parser'ından çıkarılan libpg_query kullanılarak çözülmüş
  • JetBrains araçları yalnızca sorguları analiz etmekle kalmıyor, aynı zamanda onları gerçek tablolarla eşleştirme özelliği de sunuyor
    • Kod içindeki SQL string'lerini de analiz edebilmesi etkileyici
  • PL/pgSQL kod tabanını migration dosyalarıyla yöneten kişiler için oyunun kurallarını değiştiren bir gelişme olarak değerlendiriliyor