- Microsoft가 VS Code 안에서 PostgreSQL 관리와 개발을 함께 처리하는 공개 프리뷰 확장을 발표함
- 새 확장은 Database Explorer, 쿼리 편집기, 컨텍스트 인식 IntelliSense,
@pgsqlGitHub Copilot agent를 묶어 편집기 밖으로 나가는 작업을 줄임 - 생산성 문제의 근거로 2024 StackOverflow Developer Survey의 작업 전환 어려움 41%, 2024 Stripe Developer Coefficient Report의 디버깅·트러블슈팅 시간 최대 50%가 제시됨
@pgsqlagent는 자연어로 질의, 스키마 최적화, SQL 작업 실행을 돕지만 데이터베이스 수정 전에는 사용자 명시적 허가가 필요함- Azure Database for PostgreSQL 탐색, Entra ID 기반 비밀번호 없는 인증, 로컬·클라우드 연결 관리를 포함해 VS Code를 PostgreSQL용 통합 개발 환경으로 확장함
VS Code 안으로 들어온 PostgreSQL 개발 워크플로
- Microsoft는 Visual Studio Code용 새 PostgreSQL 확장을 공개 프리뷰로 발표함
- 이 확장은 PostgreSQL 데이터베이스 관리와 애플리케이션 개발 흐름을 한곳에 모으도록 설계됨
- VS Code 안에서 다음 작업을 처리할 수 있음
- 데이터베이스 객체 관리
- 쿼리 작성과 실행
- 컨텍스트 인식 IntelliSense 사용
@pgsqlGitHub Copilot agent를 통한 AI 지원
- 데이터베이스 관리와 애플리케이션 개발을 오가는 과정은 생산성 저하 요인으로 다뤄짐
- 2024 StackOverflow Developer Survey에 따르면 개발자의 41% 가 작업 전환에 어려움을 겪음
- 2024 Stripe Developer Coefficient Report에 따르면 개발자는 코드와 데이터베이스 디버깅·트러블슈팅에 시간의 최대 50% 를 사용함
데이터베이스 컨텍스트를 아는 GitHub Copilot
@pgsqlGitHub Copilot agent는 VS Code 안에서 PostgreSQL 데이터베이스 컨텍스트를 활용하는 AI 지원을 제공함- 자연어로 PostgreSQL 데이터베이스와 개발 도구를 다룰 수 있음
- 데이터베이스 질의
- 스키마 최적화
- SQL 작업 실행
- 쿼리 편집기 컨텍스트 메뉴에는 다음 AI 기능이 포함됨
- “Rewrite Query”
- “Explain Query”
- “Analyze Query Performance”
- PostgreSQL Copilot은 데이터베이스 성능과 보안 유지, 코드 품질 개선을 위한 실시간 안내를 제공함
Agent mode와 작업 승인 흐름
- GitHub Copilot Chat agent mode는 데이터베이스 컨텍스트를 인식하는 비서로, 단순 질의응답을 넘어 다단계 작업을 수행할 수 있음
- Agent mode는 워크스페이스의 추가 컨텍스트를 가져올 수 있음
- 사용자가 허가하면 코드를 직접 작성하고 디버깅할 수 있음
- 예시 작업은 Saved Connections의 특정 서버에 새 데이터베이스를 만들고 PostGIS 확장을 활성화하는 흐름임
@pgsqlagent가 서버 연결을 나열함postgis서버에 연결함- 데이터베이스 수정 스크립트를 작성함
- 변경을 진행하기 전에 사용자 허가를 기다림
- 데이터베이스 수정에는 사용자의 명시적 허가가 필요함
연결 관리와 Entra ID 인증
- 연결 관리 기능은 로컬 및 클라우드 호스팅 PostgreSQL 인스턴스 연결을 단순화함
- 여러 연결 프로필을 지원함
- connection string 파싱을 지원함
- Azure Database for PostgreSQL 배포를 직접 탐색하고 필터링할 수 있음
- 기존 Azure Database for PostgreSQL 배포에는 “Add New Connection” 메뉴의 “Browse Azure” 옵션으로 연결할 수 있음
- 로컬 Docker 배포의 PostgreSQL에는 Parameters 또는 Connection String 옵션으로 연결 가능함
- Entra ID 기반 비밀번호 없는 인증은 수동 로그인을 없애고 연결 유지 경험을 개선함
- 자동 토큰 갱신으로 개발 중 인증 시간 초과 위험을 줄임
- Entra ID의 보안 인증 프로토콜을 활용함
- 토큰 관리를 자동화해 관리 부담을 낮춤
- 기존 Entra ID 자격 증명을 사용할 수 있어 별도 계정 관리가 필요 없음
- Entra ID 통합은 중앙화된 보안과 ID 관리, 접근 제어를 제공함
데이터베이스 탐색, 쿼리 편집, 스키마 시각화
- Database Explorer는 schemas, tables, functions 같은 데이터베이스 객체를 구조화된 보기로 제공함
- Database Explorer에서 데이터베이스 객체를 생성, 수정, 삭제할 수 있음
- Object Explorer 아래에는 세션 쿼리 기록이 표시됨
- 이전에 실행한 쿼리를 빠르게 검토하고 재사용할 수 있음
- 쿼리 편집기는 컨텍스트 인식 IntelliSense를 제공함
- SQL 키워드 자동 완성
- 테이블 이름 자동 완성
- 함수 자동 완성
- 쿼리 편집 기능에는 구문 강조, 자동 서식, 실행한 쿼리 재사용을 위한 쿼리 기록 추적이 포함됨
- 스키마 시각화는 Object Explorer에서 데이터베이스 항목을 오른쪽 클릭한 뒤 “Visualize Schema”를 선택해 실행함
차별점과 설치 방법
- Microsoft가 내세운 차별점은 다음과 같음
- 컨텍스트 인식 IntelliSense와 SQL formatting을 통한 시간 절약과 오류 최소화
- 데이터베이스와 워크스페이스 컨텍스트를 인식하는
pgsqlGitHub Copilot Chat agent의 다단계 작업 수행 능력 - 몇 분 안에 시작할 수 있도록 돕는 Connection Manager 온보딩
- Entra ID 통합을 통한 접근 제어와 중앙화된 ID 관리
- VS Code 안에서 데이터베이스 객체 관리, 쿼리 실행, 인스턴스 배포를 수행하는 도구 세트
- 설치는 VS Code의 Extensions view를 열고 Extensions Marketplace에서 “PostgreSQL”을 검색한 뒤, 파란 코끼리 아이콘이 있는 Preview PostgreSQL 확장을 선택하는 방식임
- 확장 ID는
ms-ossdata.vscode-pgsql임 - 온라인 Visual Studio Code Marketplace에서도 제공됨: ms-ossdata.vscode-pgsql
- PostgreSQL GitHub Copilot Chat을 사용하려면 VS Code에 GitHub Copilot 및 GitHub Copilot Chat 확장이 설치되어 있어야 함
- GitHub 계정으로 로그인한 뒤 채팅 인터페이스에서
@pgsql을 사용해 PostgreSQL 데이터베이스와 상호작용함
- GitHub 계정으로 로그인한 뒤 채팅 인터페이스에서
- 피드백과 이슈 보고는 VS Code의 내장 feedback tool로 제출할 수 있음
- 첫 릴리스에 포함된 표준 preview license 문구와 관련해, Microsoft는 모든 Postgres 사용자가 동일하게 확장을 널리 사용할 수 있도록 라이선스를 업데이트할 예정임
- 시작 문서는 https://aka.ms/pg-vscode-docs에서 제공됨