Pelayan Bahasa Postgres Dilancarkan Selepas Dua Tahun Pembangunan

BigGo Editorial Team
Pelayan Bahasa Postgres Dilancarkan Selepas Dua Tahun Pembangunan

Komuniti pembangun kini mempunyai akses kepada alat baharu yang berkuasa untuk pembangunan PostgreSQL dengan pelancaran Pelayan Bahasa Postgres, projek yang telah dalam pembangunan selama hampir dua tahun. Pelayan bahasa sumber terbuka ini menyediakan ciri-ciri penting seperti pelengkapan automatik, penyorotan ralat sintaks, pemeriksaan jenis, dan linting untuk dialek SQL PostgreSQL.

Repositori GitHub untuk Postgres Language Server, menyerlahkan pembangunannya dan sumbangan komuniti
Repositori GitHub untuk Postgres Language Server, menyerlahkan pembangunannya dan sumbangan komuniti

Menyelesaikan Pengalaman Pembangunan SQL

Pelayan Bahasa Postgres menangani jurang yang ketara dalam aliran kerja pembangunan bagi mereka yang bekerja secara meluas dengan pangkalan data PostgreSQL. Sebelum alat ini, pembangun sering terpaksa menulis SQL tanpa maklum balas masa nyata, menjalankan migrasi untuk mengesan ralat atau mencari maklumat skema secara manual. Pelayan bahasa ini membawa keupayaan IDE moden kepada pembangunan SQL, membolehkan pembangun mengesan ralat sebelum pelaksanaan.

Apa yang menjadikan projek ini menarik adalah pendekatannya untuk menganalisis SQL. Seperti yang dijelaskan oleh salah seorang penulis bersama dalam komen, mereka menghadapi cabaran asas: penganalisis PostgreSQL adalah kompleks dan sentiasa berkembang, menjadikannya tidak praktikal untuk mencipta penganalisis khusus. Tambahan pula, pelayan bahasa perlu mengendalikan kedua-dua pernyataan SQL yang sah dan tidak lengkap.

Penyelesaian mudah adalah dengan menggunakan dua penganalisis - libpg_query asal yang digunakan oleh Postgres sendiri, dan tree-sitter untuk pernyataan tidak lengkap, dan menggabungkan hasil yang dianalisis. Dengan itu, anda boleh mendapatkan AST yang boleh digunakan untuk diagnostik dan CST tree-sitter untuk pelengkapan automatik, sebagai contoh.

Pelaksanaan dan Integrasi Serba Boleh

Pelayan Bahasa Postgres dibina dengan kepelbagaian dalam fikiran. Walaupun ia memanfaatkan Protokol Pelayan Bahasa (LSP) untuk integrasi IDE, reka bentuknya yang tidak bergantung pada pengangkutan bermakna ciri-cirinya boleh diakses melalui pelbagai antara muka termasuk CLI, API HTTP, dan modul WebAssembly. Ini menjadikan alat tersebut boleh diakses tanpa mengira persekitaran pilihan pembangun.

Pelayan ini sudah tersedia sebagai binari yang boleh dimuat turun, pakej npm, sambungan VSCode, dan boleh dipasang melalui nvim-lspconfig dan mason untuk pengguna Neovim. Ketersediaan yang meluas ini menunjukkan komitmen pasukan untuk menjadikan alat tersebut semudah mungkin diakses.

Ciri-ciri Pelayan Bahasa Postgres:

  • Pelengkapan automatik
  • Penyorotan Ralat Sintaks
  • Pemeriksaan jenis (melalui wawasan ralat EXPLAIN)
  • Linting (diilhamkan oleh Squawk)

Kaedah Pemasangan yang Tersedia:

  • Muat turun perisian binari dari repositori
  • Pakej npm
  • Sambungan VSCode
  • Neovim (melalui nvim-lspconfig dan mason)

Teknologi Utama yang Digunakan:

  • libpg_query (pengurai Postgres sendiri)
  • tree-sitter (untuk mengendalikan pernyataan tidak lengkap)
  • Seni bina Pelayan-Klien dengan reka bentuk bebas pengangkutan

Arah Masa Depan dan Impak Komuniti

Pada masa ini, pelayan bahasa ini memberi tumpuan kepada pernyataan SQL, tetapi pembangun telah menunjukkan rancangan untuk memperluaskan sokongan kepada badan fungsi dan PL/pgSQL pada masa hadapan. Komuniti telah mula melaporkan pepijat dan mencadangkan penambahbaikan, dengan pembangun menunjukkan tindak balas yang mengagumkan dengan menangani isu-isu dengan cepat.

Satu kemungkinan yang menarik yang telah dibangkitkan oleh ahli komuniti adalah potensi untuk mengintegrasikan pelayan bahasa dengan SQL terbenam dalam pelbagai bahasa pengaturcaraan. Ini boleh membolehkan pemeriksaan statik dan pelengkapan automatik pernyataan SQL dalam kod yang ditulis dalam bahasa seperti Python, Rust, atau TypeScript. Walaupun fungsi ini memerlukan penyelesaian di sisi editor, pembangun telah menyebut mereka sedang meneroka pilihan untuk sokongan langsung dalam API ruang kerja mereka.

Bagi pembangun yang bekerja dengan platform yang memanfaatkan ciri-ciri PostgreSQL seperti pemicu, Keselamatan Tahap Baris, dan fungsi SQL, alat ini mewakili peningkatan yang ketara dalam pengalaman pembangunan. Dengan menyediakan maklum balas segera mengenai ralat sintaks dan menawarkan pelengkapan automatik berdasarkan maklumat skema, Pelayan Bahasa Postgres membantu memperkemaskan aliran kerja pembangunan pangkalan data dan mengesan isu-isu yang berpotensi lebih awal dalam proses pembangunan.

Rujukan: Pelayan Bahasa Postgres

Output ralat daripada CLI postgres-tools, menunjukkan aplikasi praktikal untuk pemeriksaan sintaks SQL dan pengesahan jenis
Output ralat daripada CLI postgres-tools, menunjukkan aplikasi praktikal untuk pemeriksaan sintaks SQL dan pengesahan jenis