GN⁺ 2025-03-30 | parent | ★ favorite | on: Postgres Language Server: 첫번째 릴리즈 (github.com/supabase-community)

Hacker News 의견

  • Postgres Language Server의 초기 버전을 공개함
    • VSCode 확장, nvim-lspconfig, mason, npm에서 설치 가능함
    • 2년간 다양한 시행착오를 겪으며 만든 프로젝트임
    • 현재는 실용적이고 단순한 방식으로 동작하게 구성함
    • Biome 코드베이스에서 많은 영감을 받았으며 큰 도움을 받음
    • Rust로 구현되어 있으며 Rust에 기여하고 싶은 사람을 환영함
  • 현재는 SQL 문만 지원하며, 향후 PL/pgSQL도 지원할 예정임
    • PostgreSQL의 SQL 방언을 따르며 Postgres의 파서를 사용함
    • DB 연결을 제공하면 pg_catalog 테이블을 통해 메타데이터를 읽어옴
    • 연결 정보가 없으면 해당 기능은 비활성화됨
  • JetBrains IDE들이 오래전부터 훌륭한 SQL 지원을 제공해왔음. FOSS 대안이 드디어 등장한 것이 긍정적
  • IntelliJ DB 도구가 특별하진 않으며, SQL Squirrel 같은 오래된 툴도 꽤 괜찮음
  • DB를 자주 변경하지 않는다면 유용하지 않을 수도 있음
    • Supabase처럼 SQL로 많은 로직을 작성하는 플랫폼에서 매우 유용함
    • SQL 함수, RLS, 마이그레이션 파일 등을 자주 다룬다면 도움을 많이 받을 수 있음
  • Postgres 문법은 매우 복잡하고 자주 변경되기 때문에 기존 도구들이 지속적으로 지원하기 어려움
    • Postgres 서버의 실제 파서를 추출한 libpg_query를 사용해 문제를 해결함
      -JetBrains 도구는 쿼리를 분석할 뿐 아니라 실제 테이블과 매칭하는 기능도 제공함
    • 코드 내 SQL 문자열도 분석 가능한 점이 인상적임
  • PL/pgSQL 코드베이스를 마이그레이션 파일로 관리하는 사람들에게는 게임 체인저라고 평가함