Visual Studio Code PostgreSQL 확장은 PostgreSQL 데이터베이스 관리 및 개발을 간소화합니다. Visual Studio Code 종료하지 않고 PostgreSQL 데이터베이스에 연결하고, 쿼리를 작성 및 실행하고, 데이터베이스 개체를 관리할 수 있습니다.
확장은 다음을 포함하여 Azure 관리되는 PostgreSQL 서비스와 통합됩니다.
- Azure HorizonDB - 계층 1 엔터프라이즈 워크로드용으로 빌드된 클라우드 네이티브 PostgreSQL 서비스입니다. HorizonDB는 분리된 스토리지/컴퓨팅 아키텍처, 짧은 대기 시간 커밋, 빠른 장애 조치(failover), 읽기 가능한 HA 복제본 간의 부하 분산 읽기 확장 및 심층 AI 통합을 제공합니다.
두 서비스에 대해 동일한 확장이 작동합니다. 동작이 다른 경우(예: 연결 엔드포인트 또는 지원되는 인증 방법) 다음 섹션에서 호출됩니다.
확장을 설치하는 방법
Visual Studio Code의 확장 마켓플레이스에서 직접 PostgreSQL 확장을 설치할 수 있습니다. 아래 단계를 수행하세요.
- 작업 표시줄에서 Extensions 아이콘을 선택하거나 View: Extensions 명령을 사용하여 확장 보기를 Visual Studio Code 엽니다.
- 확장 마켓플레이스에서 PostgreSQL 을 검색합니다.
- Microsoft에서 작성한 PostgreSQL 확장을 선택하고 설치를 선택합니다.
확장을 설치하면 Visual Studio Code 사이드바의 PostgreSQL 페이지를 나타내는 코끼리 아이콘이 나타납니다.
Features
Visual Studio Code PostgreSQL 확장은 Azure HorizonDB에 대해 다음과 같은 기능을 제공합니다.
연결 관리자
연결 관리자는 로컬 및 클라우드 호스팅 PostgreSQL 데이터베이스에 대한 연결을 간소화합니다. 주요 기능은 다음과 같습니다.
- 여러 연결 프로필을 지원하므로 Azure HorizonDB 클러스터를 포함하여 여러 PostgreSQL 인스턴스에 연결하고 나란히 관리할 수 있습니다.
- 로컬 데이터베이스, Azure HorizonDB 클러스터에 연결하는지 여부에 관계없이 원활한 연결을 위한 연결 문자열 구문 분석
- 구독, 리소스 그룹, 서버/클러스터 및 데이터베이스별로 인스턴스를 직접 검색하고 필터링하기 위해 Azure HorizonDB와 통합합니다.
Azure HorizonDB 연결 엔드포인트
Azure HorizonDB는 확장에 별도의 연결 프로필로 추가할 수 있는 두 개의 엔드포인트를 노출합니다.
- 읽기/쓰기 엔드포인트 - 읽기 및 쓰기 트랜잭션을 모두 허용하는 기본 엔드포인트에 연결합니다. 애플리케이션 쓰기, 스키마 변경 및 최신 커밋된 데이터가 필요한 읽기 워크로드에 이 엔드포인트를 사용합니다. 엔드포인트는 클러스터 Overview 페이지 및 Azure 포털의 Replicas 페이지에 나열됩니다.
- 판독기 엔드포인트 - 클러스터의 모든 읽기 가능한 HA 복제본에서 읽기 전용 연결의 부하를 자동으로 분산합니다. 읽기 스케일 아웃 작업, 보고 및 분석에는 이 엔드포인트를 사용합니다. 현재 최대 4개의 읽을 수 있는 HA 복제본이 지원되며(8개로 증가) 각각은 주 복제본과 동일하게 크기가 조정됩니다.
일반적인 패턴은 읽기/쓰기 엔드포인트를 가리키는 프로필과 판독기 엔드포인트를 가리키는 프로필 등 두 개의 프로필을 연결 관리자 저장하고 현재 작업에 따라 개체 탐색기 간에 전환하는 것입니다.
오브젝트 탐색기
향상된 개체 탐색기는 데이터베이스 개체의 계층적 보기를 제공하므로 스키마, 테이블, 뷰 및 함수를 보다 쉽게 찾아서 관리할 수 있습니다. 주요 기능은 다음과 같습니다.
- 특정 개체를 빠르게 찾을 수 있는 고급 필터링 옵션입니다.
- 테이블, 뷰 및 저장 프로시저와 같은 데이터베이스 개체를 만들고 수정하고 삭제하는 기능입니다.
- 간소화된 탐색을 위한 데이터베이스 스키마 및 관계 시각화
- Azure HorizonDB의 경우 쿼리 편집기 직접
pg_available_extensions카탈로그 뷰를 통해 클러스터에서 사용할 수 있는 55개 이상의 허용 목록 확장을 검사할 수 있습니다.
쿼리 편집기
쿼리 편집기에서는 다음을 사용하여 쿼리 초안 작성 및 실행 환경을 개선합니다.
- SQL 키워드, 테이블 이름 및 함수의 자동 완성을 위한 컨텍스트 인식 IntelliSense입니다.
- 쿼리 가독성을 높이기 위한 구문 강조 표시 및 자동 서식 지정
- 쿼리 기록 추적을 통해 이전에 실행한 쿼리를 다시 사용할 수 있습니다.
결과 뷰어
결과 뷰어를 사용하면 다음과 같은 기능을 통해 쿼리 결과와 상호 작용할 수 있습니다.
- 결과를 CSV, JSON 또는 Excel 형식으로 내보냅니다.
- 데이터를 효율적으로 분석하기 위한 검색, 필터링 및 정렬 옵션입니다.
- 탭 간을 탐색하는 동안 컨텍스트를 유지하기 위한 영구 데이터 뷰입니다.
스키마 시각화
스키마 시각화 도우미는 SQL을 작성하지 않고도 데이터베이스 구조에 대한 대화형 다이어그램 기반 보기를 제공합니다. 개체 탐색기 데이터베이스(또는 그 아래의 개체)를 마우스 오른쪽 단추로 클릭하고 스키마 시각화를 선택하여 시각화 도우미를 시작합니다.
주요 기능은 다음과 같습니다.
- 전체 테이블 뷰 - 모든 테이블은 해당 열 및 데이터 형식을 보여 주는 카드로 렌더링됩니다.
- 관계 선 - 테이블 간의 외래 키 관계는 연결선으로 그려지므로 데이터 모델이 어떻게 결합되는지 한눈에 볼 수 있습니다.
-
스키마 기반 조직 - 테이블은 부모 스키마(예:
public, ,hrecom)로 그룹화되어 큰 데이터베이스를 쉽게 탐색할 수 있습니다. - 스키마로 표시/숨기기 - 전체 스키마를 설정하거나 해제하여 관심 있는 모델의 부분에만 초점을 맞추고 큰 데이터베이스에서 다이어그램을 읽을 수 있도록 유지합니다.
- 이동 및 확대/축소 - 표준 이동, 확대/축소 및 화면 맞춤 컨트롤을 사용하여 큰 다이어그램을 탐색할 수 있습니다.
스키마 시각화는 로컬 PostgreSQL 및 Azure HorizonDB 클러스터를 포함하여 연결된 데이터베이스에 대해 작동합니다.
Apache AGE 그래프 시각화
Apache AGE Graph 시각화 도우미를 사용하면 Apache AGE Cypher 쿼리를 실행하고 결과를 대화형 노드 에지 그래프로 탐색할 수 있습니다. 확장은 자동으로 그래프 쿼리 결과를 검색하고 노드별 설명선, 확대/축소 및 이동 컨트롤, 내보내기 지원 및 테마 인식 스타일을 사용하여 시각적 탐색기에서 렌더링합니다.
age 확장은 기본적으로 Azure HorizonDB에 허용 목록으로 표시되므로 그래프 워크로드는 추가 구성 없이 HorizonDB 클러스터에서 실행할 수 있습니다. HorizonDB에 대해 Cypher 쿼리를 작성할 때도 동일한 요구 사항이 적용됩니다.
스칼라 속성이 아닌 전체 개체 반환 - 그래프 시각화 도우미에는 완전한 꼭짓점 및 에지 개체가 필요합니다. 스칼라 속성(
RETURN p.name, p.title)을 추출하는 쿼리는 일반 텍스트 값을 반환하고 시각화 도우미에서 렌더링되지 않습니다. 대신 전체 개체를 반환하고 관계 변수의 이름을 지정합니다.SELECT * FROM cypher('my_graph', $$ MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product) RETURN a, r, b $$) AS (a agtype, r agtype, b agtype);의미 있는 노드 텍스트를 위해
disp_label설정을 적용합니다 - 설정이 없으면disp_label노드에 내부 ID가 표시됩니다. 시각화 도우미에 유용한 레이블이 표시되도록 이 속성을 설정합니다.SELECT * FROM cypher('my_graph', $$ MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product) SET a.disp_label = a.title SET b.disp_label = b.title RETURN a, r, b $$) AS (a agtype, r agtype, b agtype);출력 열을 반환된 개체와 일치 - 래퍼
AS (...)절에는 반환된 개체당 하나의 열이 있어야 합니다. 다중 홉 쿼리의 경우 모든 중간 노드 및 에지를 포함합니다.SELECT * FROM cypher('my_graph', $$ MATCH (a:Product)-[r1:BOUGHT_TOGETHER]->(mid:Product)-[r2:BOUGHT_TOGETHER]->(b:Product) RETURN a, r1, mid, r2, b $$) AS (a agtype, r1 agtype, mid agtype, r2 agtype, b agtype);
AI 통합(Azure HorizonDB)
Azure HorizonDB 클러스터에 연결된 경우 확장은 표준 PostgreSQL 확장 및 함수로 노출되는 HorizonDB의 AI 기능에 대한 일류 작성 화면을 제공합니다.
pgvector- 벡터 데이터 형식 및 유사성 연산자입니다.
pg_diskann-
고급 필터링을 사용하는 고성능 벡터 인덱스입니다. 이 인덱스는 벡터 그래프 순회 중에 조건자를 평가
WHERE하므로 필터링된 유사성 쿼리는 더 빠르고 일관되게 반환됩니다.
-
고급 필터링을 사용하는 고성능 벡터 인덱스입니다. 이 인덱스는 벡터 그래프 순회 중에 조건자를 평가
azure_ai- AI 함수(예:
azure_ai.generate(),azure_ai.is_true(),azure_ai.extract()및azure_openai.create_embeddings())
- AI 함수(예:
-
AI 모델 관리(제한된 미리 보기)
- 클러스터에서 사용하도록 설정하면 HorizonDB는 Microsoft Foundry를 통해 기본 채팅 모델(
gpt-5) 및 기본 포함 모델(text-embedding-3-small)을 자동으로 프로비전하고,azure_ai설치 및 구성하고, AI Functions를 관리되는 모델에 연결합니다. 수동 키 처리는 필요하지 않습니다. 자체 Microsoft Foundry 배포(Bring Your Own Model)를 등록하고 동일한 AI 함수의 별칭으로 호출할 수도 있습니다.
- 클러스터에서 사용하도록 설정하면 HorizonDB는 Microsoft Foundry를 통해 기본 채팅 모델(
쿼리 편집기 직접 이러한 AI 워크로드를 작성하고 실행할 수 있으며 결과 뷰어는 벡터 및 JSONB 출력을 인라인으로 렌더링합니다.
파이프라인 및 워크플로
AI 파이프라인 또는 pg_durable 워크플로가 있는 Azure HorizonDB 클러스터에 연결되면, 확장은 실행 기록을 확인하고 실행 상태를 모니터링할 수 있는 파이프라인 및 워크플로 보기를 제공합니다.
데이터베이스를 마우스 오른쪽 단추로 클릭하고 파이프라인 및 워크플로를 선택하여 액세스합니다. 두 개의 탭이 표시됩니다.
- AI 파이프라인: 색으로 구분된 단계 유형(원본/싱크의 경우 파란색, 처리용 녹색, 외부 호출의 경우 분홍색)을 사용하여 파이프라인 정의를 보고, 실행을 검사하고, 실행 그래프를 추적합니다. 이를 사용하여 파이프라인 동작을 확인하고 실행 상태, 실행 ID, 시작 시간 및 기간을 확인합니다.
-
워크플로: 그래프, 타이밍 분석 및 결과에 대한 탭을 사용하여 워크플로 인스턴스를 검사
pg_durable합니다. 비교 및 문제 해결을 위해 워크플로 실행에서 관련 파이프라인 정의로 이동합니다.
이 보기를 사용하면 SQL 쿼리와 편집기 간에 전환할 필요가 없으므로 장기 실행 AI 워크로드 및 pg_durable 오케스트레이션을 쉽게 모니터링할 수 있습니다.
GitHub Copilot 통합
이 확장은 GitHub Copilot와 통합되어 PostgreSQL 개발에 맞게 조정된 AI 기반 지원을 제공합니다.
@pgsql 같은 명령을 사용하면 데이터베이스를 쿼리하고, 스키마를 최적화하고, Copilot 요청하여 Azure HorizonDB 클러스터에 대해 특정 SQL 작업을 실행할 수 있습니다. Copilot은 대상에 설치된 확장을 포함한 실시간 연결 컨텍스트를 파악하므로 HorizonDB 연결에 대한 제안에는 pgvector, pg_diskann, azure_ai, age가 반영됩니다.
지원되는 운영 체제
PostgreSQL 확장은 다음 운영 체제에서 작동합니다.
- Windows
- macOS
- Linux
이 확장은 Ubuntu, Fedora 및 Red Hat Enterprise Linux를 비롯한 다양한 Linux 배포를 지원합니다.
피드백 및 지원
버그, 기능 요청 및 문제의 경우 Visual Studio Code의 기본 제공 피드백 도구를 사용합니다. Visual Studio Code 도움말 메뉴 또는 PGSQL 명령 팔레트를 통해 이 피드백을 완료할 수 있습니다.
-
도움말 메뉴
- 도움말 > 보고서 문제로 이동
-
명령 팔레트
- 명령 팔레트
Ctrl + Shift + P를 열고 다음을 실행합니다.PGSQL: Report Issue
- 명령 팔레트