- 개발자의 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 사용자의 경우, 서버와 클라이언트 확장 모두 특정 명령을 실행하여 설치 가능