17P by neo 2023-08-07 | favorite | 댓글 2개
  • 개발자의 Postgres 경험을 향상시키기 위해 설계된, 현재 활발히 개발 중인 도구인 Postgres Language Server를 소개
  • Language Server Protocol은 코드 완성 및 구문 강조와 같은 코드 지능 도구를 제공하는 오픈 프로토콜로, Postgres Language Server는 이 프로토콜을 Postgres에 특화되게 구현
  • 이 서버는 의미론적 강조, 구문 오류 진단, SQL 주석 표시, 자동 완성, 코드 실행, 코드 포맷 설정 등의 기능을 제공
  • 이 프로젝트의 동기는 기존 IDE와 편집기에서 PL/pgSQL에 대한 지원이 제한적이며, PostgreSQL의 복잡한 구문을 처리할 때 일반적인 SQL Language Server가 부족했기 때문
  • Postgres Language Server는 libpg_query를 사용하여 PostgreSQL 소스를 활용해 SQL 코드를 신뢰성 있게 파싱. 이 방법은 비전통적일 수 있지만, 모든 유효한 PostgreSQL 쿼리를 파싱하는 유일한 신뢰할 수 있는 방법
  • 파서를 안정화 시키고, 강력한 데이터 모델이 구현되면, 언어 서버는 기본 기능을 제공하고 모든 Postgres 생태계 도구에 대한 사용자 인터페이스 역할을 할 것
  • 로드맵에는 파서 완성, 강력한 데이터 모델 구현, 언어 서버 적절히 설정, 기본 언어 서버 기능 구현, 기존 오픈 소스 도구 통합, 누락된 부분 구축이 포함
  • 프로젝트는 현재 프로덕션 용도로는 준비되어 있지 않으며 개발을 위한 협업자를 찾는 중
  • 서버는 Cargo, Node, npm을 사용하여 설치할 수 있음. VS Code 사용자의 경우, 서버와 클라이언트 확장 모두 특정 명령을 실행하여 설치 가능
Hacker News 의견
  • Postgres 언어 서버는 기술에 능통한 사람들 사이에서 흥분을 불러일으킨 새로운 도구입니다.
  • libpg_query의 원작자는 이 서버의 핵심 구성 요소에 대한 인정을 받고, 핵심 C 라이브러리를 기반으로 라이브러리 생태계가 건강하게 유지되고 있다는 점을 강조합니다.
  • 사용자들은 SQL/데이터베이스 도구의 잠재적 개선, 특히 plpgsql의 형식화에 대해 기대감을 표현하고 있습니다.
  • 서버가 "LSP 컨텍스트"를 자동으로 전환할 수 있는 능력과 PostGIS와 같은 확장 기능을 지원하는지에 대한 의문이 제기되고 있습니다.
  • Omnigres와 같은 회사들이 libpg_query를 프로그래밍 쿼리 조작에 사용함으로써 Postgres에 대한 개발자 경험을 개선할 수 있는 서버의 잠재력이 칭찬받고 있습니다.
  • 일부 사용자들은 서버가 실제 데이터베이스에 연결하여 테이블, 열 등의 목록을 가져오는지, 아니면 데이터 사전 정보 없이 원시 텍스트를 단순히 파싱하는지에 대해 궁금해하고 있습니다.
  • JetBrains 또는 VSCode와 같은 IDE에서 서버를 사용할 가능성과 경험 많은 개발자들이 프로젝트에 기여할 기회가 있는지에 대한 문의가 있습니다.
  • 서버가 "단지 Postgres에만" 집중하는 것이 사용자들에게 인정받고 있습니다.
  • 사용자들은 서버가 어떻게 발전할지 기대하며, 일부는 SQLPage 웹사이트에 대한 더 나은 IDE 경험을 희망하고 있습니다.
  • 서버의 창조는 IDE에서 SQL을 작성하는 것을 더 쉽게 만들어야 하는 오래된 개발로 간주되고 있습니다.