# Postgres Language Server

> Clean Markdown view of GeekNews topic #10213. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=10213](https://news.hada.io/topic?id=10213)
- GeekNews Markdown: [https://news.hada.io/topic/10213.md](https://news.hada.io/topic/10213.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-08-07T10:16:35+09:00
- Updated: 2023-08-07T10:16:35+09:00
- Original source: [github.com/supabase](https://github.com/supabase/postgres_lsp)
- Points: 17
- Comments: 2

## Topic Body

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

## Comments



### Comment 17963

- Author: xguru
- Created: 2023-08-07T10:24:40+09:00
- Points: 1

Supabase 는 Postgres에 진심입니다   
[Postgres-wasm 공개 - 브라우저에서 실행되는 PostgreSQL 서버](https://news.hada.io/topic?id=7556)  
[pg_graphql - PostgreSQL용 GraphQL 확장](https://news.hada.io/topic?id=5493)  
[pg_crdt - 실험적인 Postgrest용 CRDT 확장 오픈소스](https://news.hada.io/topic?id=8025)

### Comment 17956

- Author: neo
- Created: 2023-08-07T10:16:35+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=37020610) 
- Postgres 언어 서버는 기술에 능통한 사람들 사이에서 흥분을 불러일으킨 새로운 도구입니다.
- libpg_query의 원작자는 이 서버의 핵심 구성 요소에 대한 인정을 받고, 핵심 C 라이브러리를 기반으로 라이브러리 생태계가 건강하게 유지되고 있다는 점을 강조합니다.
- 사용자들은 SQL/데이터베이스 도구의 잠재적 개선, 특히 plpgsql의 형식화에 대해 기대감을 표현하고 있습니다.
- 서버가 "LSP 컨텍스트"를 자동으로 전환할 수 있는 능력과 PostGIS와 같은 확장 기능을 지원하는지에 대한 의문이 제기되고 있습니다.
- Omnigres와 같은 회사들이 libpg_query를 프로그래밍 쿼리 조작에 사용함으로써 Postgres에 대한 개발자 경험을 개선할 수 있는 서버의 잠재력이 칭찬받고 있습니다.
- 일부 사용자들은 서버가 실제 데이터베이스에 연결하여 테이블, 열 등의 목록을 가져오는지, 아니면 데이터 사전 정보 없이 원시 텍스트를 단순히 파싱하는지에 대해 궁금해하고 있습니다.
- JetBrains 또는 VSCode와 같은 IDE에서 서버를 사용할 가능성과 경험 많은 개발자들이 프로젝트에 기여할 기회가 있는지에 대한 문의가 있습니다.
- 서버가 "단지 Postgres에만" 집중하는 것이 사용자들에게 인정받고 있습니다.
- 사용자들은 서버가 어떻게 발전할지 기대하며, 일부는 SQLPage 웹사이트에 대한 더 나은 IDE 경험을 희망하고 있습니다.
- 서버의 창조는 IDE에서 SQL을 작성하는 것을 더 쉽게 만들어야 하는 오래된 개발로 간주되고 있습니다.
