
VS Code용 PostgreSQL 확장을 사용하면 편집기를 떠나지 않고 데이터베이스 객체를 살펴보고 SQL을 작성·실행할 수 있으며, GitHub Copilot에서 데이터베이스 맥락을 활용할 수 있다. 연결 설정부터 쿼리 검토와 성능 문제 조사까지 개발 과정에서 활용하는 방법을 소개한다.
각 항목에는 따라 해볼 수 있는 영상이 포함된 PostgreSQL Like a Pro: VS Code Edition도 있다.
데이터베이스에 연결하고 구조 살펴보기
쿼리를 작성하기 전에 데이터베이스에 무엇이 있는지 확인한다. Microsoft의 PostgreSQL 확장을 설치한 뒤 활동 표시줄에서 PostgreSQL 아이콘을 선택해 연결을 추가한다.
온프레미스 또는 클라우드 데이터베이스에 연결할 수 있고, 연결 프로필을 저장해 나중에 다시 사용할 수 있다. Azure 데이터베이스는 Azure 연결 경로에서 Microsoft Entra ID로 로그인한 다음 구독, 서버, 데이터베이스를 선택한다.
연결한 뒤 서버, 데이터베이스, 스키마를 펼쳐 테이블, 뷰, 함수, 시퀀스, 확장 기능을 살펴본다. 애플리케이션에서 사용하는 테이블 하나를 골라 구조를 확인하는 것부터 시작할 수 있다.
설명할 수 있는 SQL 작성하기
예를 들어 한 분기 동안 매출을 가장 많이 낸 고객을 찾으려면 고객 데이터와 결제 데이터를 조인하고, 날짜를 필터링한 뒤 결과를 그룹화하고 정렬해야 한다.
쿼리 편집기의 IntelliSense는 SQL 문법과 테이블·열 이름, 조인 표현식을 지원한다. 기본 쿼리를 작성한 뒤 Copilot에 필터를 다듬거나 쿼리 계획과 실행 지표를 활용해 성능을 분석하도록 요청할 수 있다.
이 사례에서는 결제 데이터를 먼저 집계한 뒤 조인하는 방식이 검토해볼 수 있는 쿼리 재작성 방법 중 하나다. 모든 경우에 적용해야 하는 규칙은 아니다. 실행 계획뿐 아니라 결과도 확인해야 한다. 쿼리가 빨라져도 질문에 맞는 답을 내야 한다. 생성된 SQL을 실행하기 전에 검토하고, 기존 결과와 수정한 결과를 비교한다.
Copilot에는 다음과 같이 물어볼 수 있다. “이 쿼리의 성능을 분석해줘. 실행 계획은 무엇을 보여주며, 변경하기 전에 무엇을 확인해야 할까?”
다른 사람이 만든 데이터베이스 이해하기
프로젝트를 넘겨받았다면 필요한 데이터가 어느 테이블에 있는지, 애플리케이션의 다른 부분과 어떻게 연결되는지부터 파악한다. Object Explorer에서 스키마 이름과 명명 패턴을 살펴보고, 작업 중인 기능과 관련된 테이블이나 뷰를 찾는다. 그런 다음 스키마 시각화로 관련 객체의 연결 관계를 확인한다.
연결된 데이터베이스 맥락을 Copilot Chat에서 사용할 수 있다. 영화 대여 애플리케이션이라면 “배우와 영화 데이터가 있는 테이블은 무엇인가?”, “서로 어떻게 연결되는가?”, “대여 상태는 어디에 저장되는가?”처럼 구체적으로 질문할 수 있다.
답변은 검증된 데이터베이스 구조가 아니라 출발점으로 다룬다. 객체 트리를 확인하고 시각화에서 관계를 살펴본 뒤, 읽기 전용 쿼리를 작게 실행해 데이터 경로가 맞는지 확인한다.
성능 문제와 변경 권고 검토하기
연결이 끊기거나 지연 시간이 늘어나면 문제가 있다는 신호다. 원인을 찾으려면 보통 로그를 모으고 지표를 비교해 시간 흐름을 정리해야 한다. 변경에 앞서 무엇이 언제 바뀌었는지, 어떤 작업 부하가 관련됐는지, 제안된 조치가 왜 도움이 될 수 있는지 근거를 확인한다.
예를 들어 대규모 거래 테이블에서 고객 이력을 반복 조회하는 상황이라면 복합 인덱스 권고가 나올 수 있다. 다음 단계가 곧바로 인덱스를 만드는 것은 아니다. 먼저 근거가 되는 지표와 예상 효과, 롤백 안내를 검토한다.
Database Agent는 VS Code에 표시된 Azure PostgreSQL 환경에서 관련 정보를 모아 보여준다. Copilot에 권고 내용을 이해하는 데 도움을 요청할 수도 있다. 영상은 Database Agent를 향후 제공될 경험으로 소개하며, 조치는 수동으로 적용하는 방식이다. 현재 제공 여부와 Azure 요구 사항을 확인해야 한다. 자동 복구는 향후 기능으로 언급됐다.
시작하기
애플리케이션에서 사용하는 테이블 하나를 골라 쿼리를 작성하기 전에 구조와 관계를 살펴본다. 읽기 전용 쿼리를 작성하고 테이블, 조인, 필터를 검토한 뒤 실행해 결과가 요구 사항에 맞는지 확인한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요