17 điểm bởi GN⁺ 2023-08-07 | 2 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu Postgres Language Server, một công cụ hiện đang được phát triển tích cực, được thiết kế để cải thiện trải nghiệm Postgres của lập trình viên
  • Language Server Protocol là một giao thức mở cung cấp các công cụ thông minh cho mã nguồn như tự động hoàn thành và tô sáng cú pháp; Postgres Language Server triển khai giao thức này theo cách chuyên biệt cho Postgres
  • Máy chủ này cung cấp các tính năng như tô sáng ngữ nghĩa, chẩn đoán lỗi cú pháp, hiển thị chú thích SQL, tự động hoàn thành, thực thi mã và thiết lập định dạng mã
  • Động lực của dự án này là vì sự hỗ trợ dành cho PL/pgSQL trong các IDE và trình soạn thảo hiện có còn hạn chế, đồng thời các SQL Language Server thông thường còn thiếu khả năng khi xử lý cú pháp phức tạp của PostgreSQL
  • Postgres Language Server sử dụng libpg_query để tận dụng mã nguồn PostgreSQL nhằm phân tích cú pháp mã SQL một cách đáng tin cậy. Cách tiếp cận này có thể không truyền thống, nhưng là phương pháp đáng tin cậy duy nhất để phân tích mọi truy vấn PostgreSQL hợp lệ
  • Khi trình phân tích cú pháp được ổn định hóa và một mô hình dữ liệu mạnh mẽ được triển khai, language server sẽ cung cấp các chức năng cơ bản và đóng vai trò là giao diện người dùng cho mọi công cụ trong hệ sinh thái Postgres
  • Lộ trình bao gồm hoàn thiện trình phân tích cú pháp, triển khai mô hình dữ liệu mạnh mẽ, cấu hình language server phù hợp, triển khai các chức năng language server cơ bản, tích hợp các công cụ mã nguồn mở hiện có và xây dựng những phần còn thiếu
  • Dự án hiện chưa sẵn sàng cho mục đích production và đang tìm kiếm cộng tác viên để cùng phát triển
  • Có thể cài đặt máy chủ bằng Cargo, Node và npm. Với người dùng VS Code, có thể cài đặt cả máy chủ và tiện ích mở rộng phía client bằng cách chạy các lệnh cụ thể

2 bình luận

 
GN⁺ 2023-08-07
Ý kiến trên Hacker News
  • Máy chủ ngôn ngữ Postgres là một công cụ mới đang tạo ra nhiều hứng khởi trong giới am hiểu công nghệ.
  • Tác giả gốc của libpg_query được ghi nhận cho các thành phần cốt lõi của máy chủ này, đồng thời nhấn mạnh rằng hệ sinh thái thư viện dựa trên thư viện C cốt lõi vẫn đang được duy trì lành mạnh.
  • Người dùng bày tỏ sự kỳ vọng về những cải tiến tiềm năng cho công cụ SQL/cơ sở dữ liệu, đặc biệt là việc định dạng cho plpgsql.
  • Có câu hỏi được đặt ra về khả năng tự động chuyển đổi "ngữ cảnh LSP" của máy chủ và việc nó có hỗ trợ các phần mở rộng như PostGIS hay không.
  • Tiềm năng của máy chủ trong việc cải thiện trải nghiệm lập trình viên với Postgres được khen ngợi, khi các công ty như Omnigres sử dụng libpg_query để thao tác truy vấn theo chương trình.
  • Một số người dùng tò mò liệu máy chủ có kết nối tới cơ sở dữ liệu thực để lấy danh sách bảng, cột, v.v. hay chỉ đơn giản phân tích cú pháp văn bản thô mà không có thông tin từ từ điển dữ liệu.
  • Có những câu hỏi về khả năng sử dụng máy chủ trong các IDE như JetBrains hoặc VSCode, cũng như liệu các lập trình viên giàu kinh nghiệm có cơ hội đóng góp cho dự án hay không.
  • Việc máy chủ tập trung "chỉ vào Postgres" được người dùng đánh giá cao.
  • Người dùng mong chờ xem máy chủ sẽ phát triển như thế nào, và một số người hy vọng có trải nghiệm IDE tốt hơn cho trang web SQLPage.
  • Việc tạo ra máy chủ này được xem là một bước phát triển đã được mong đợi từ lâu, giúp việc viết SQL trong IDE trở nên dễ dàng hơn.