11 poin oleh GN⁺ 2025-03-30 | 1 komentar | Bagikan ke WhatsApp
  • Menyediakan implementasi Language Server Protocol (LSP) khusus Postgres dan beragam alat pengembangan
  • Dibangun berdasarkan libpg_query, parser bawaan Postgres, sehingga menghadirkan fitur SQL yang andal dan 100% kompatibel dengan sintaks Postgres
  • Dirancang dengan arsitektur server-klien dan mengadopsi desain fleksibel yang tidak terikat pada metode transport tertentu
  • Dengan ini, fiturnya dapat digunakan bukan hanya melalui Language Server Protocol, tetapi juga melalui beragam antarmuka seperti CLI, HTTP API, dan modul WebAssembly
  • Tujuannya adalah membuat alat-alat Postgres yang sudah sangat baik menjadi semaksimal mungkin mudah diakses, dan membangun sendiri bagian yang masih kurang
  • Fitur yang saat ini sudah diimplementasikan:
    • Fitur pelengkapan otomatis
    • Dukungan penyorotan kesalahan sintaks
    • Fitur pemeriksaan tipe menggunakan perintah EXPLAIN
    • Termasuk fitur SQL Linter yang terinspirasi dari Squawk

1 komentar

 
GN⁺ 2025-03-30

Komentar Hacker News

  • Versi awal Postgres Language Server telah dirilis
    • Bisa dipasang melalui ekstensi VSCode, nvim-lspconfig, mason, dan npm
    • Ini adalah proyek yang dibuat setelah melewati berbagai trial and error selama 2 tahun
    • Saat ini dirancang agar bekerja dengan cara yang praktis dan sederhana
    • Banyak terinspirasi dari codebase Biome dan mendapat bantuan besar darinya
    • Diimplementasikan dengan Rust, dan siapa pun yang ingin berkontribusi dalam Rust disambut
  • Saat ini hanya mendukung pernyataan SQL, dan ke depannya juga akan mendukung PL/pgSQL
    • Mengikuti dialek SQL milik PostgreSQL dan menggunakan parser Postgres
    • Jika diberikan koneksi DB, metadata akan dibaca melalui tabel pg_catalog
    • Jika tidak ada informasi koneksi, fitur tersebut akan dinonaktifkan
  • IDE JetBrains sudah lama menyediakan dukungan SQL yang sangat baik. Positif bahwa alternatif FOSS akhirnya muncul
  • Alat DB IntelliJ tidak terlalu istimewa, dan alat lama seperti SQL Squirrel juga cukup bagus
  • Jika Anda tidak sering mengubah DB, ini mungkin tidak terlalu berguna
    • Sangat berguna di platform seperti Supabase yang menulis banyak logika dengan SQL
    • Jika sering menangani fungsi SQL, RLS, file migrasi, dan sebagainya, ini bisa sangat membantu
  • Sintaks Postgres sangat kompleks dan sering berubah, sehingga sulit bagi alat yang ada untuk terus mendukungnya
    • Masalah ini diselesaikan dengan menggunakan libpg_query yang mengekstrak parser asli dari server Postgres
  • Alat JetBrains tidak hanya menganalisis kueri, tetapi juga menyediakan fitur untuk mencocokkannya dengan tabel yang sebenarnya
    • Kemampuannya menganalisis string SQL di dalam kode juga mengesankan
  • Dinilai sebagai game changer bagi orang-orang yang mengelola codebase PL/pgSQL dengan file migrasi