Visual Studio Code PostgreSQL 확장은 PostgreSQL 데이터베이스의 개발 및 관리를 간소화합니다. 이 가이드에서는 PostgreSQL 데이터베이스에 연결하고 Visual Studio Code 내에서 쿼리를 실행하는 방법을 안내합니다.
연결 여부에 관계없이 동일한 워크플로가 적용됩니다.
- 로컬 PostgreSQL 설치,
- Azure HorizonDB 클러스터입니다.
사전 요구 사항
시작하기 전에 적절한 도구와 리소스를 다운로드하여 설치했는지 확인합니다.
- 컴퓨터에 설치된 Visual Studio Code입니다.
- 로컬에 설치되거나 에서 호스트되는 PostgreSQL 데이터베이스 Azure HorizonDB 클러스터 만들기
- Visual Studio Code에 설치된 PostgreSQL 확장입니다.
- GitHub Copilot 확장.
- GitHub Copilot 채팅 확장 이 설치되었습니다.
PostgreSQL 확장 설치
PostgreSQL 확장을 설치하려면 다음을 수행합니다.
- Visual Studio Code 열고 작업 표시줄에서 Extensions 아이콘을 선택하거나 View: Extensions 명령을 사용하여 확장 보기로 이동합니다.
- 확장 마켓플레이스에서 PostgreSQL 을 검색합니다.
- Microsoft에서 작성한 PostgreSQL 확장을 선택하고 설치를 선택합니다.
설치 후 Visual Studio Code 사이드바에 PostgreSQL 확장 아이콘이 나타납니다.
PostgreSQL에 연결 추가
로컬 또는 원격 서버에서 호스트되는지에 관계없이 PostgreSQL 데이터베이스에 연결하는 것은 데이터를 관리하고 상호 작용하는 기본적인 단계입니다. 이 프로세스에는 클라이언트 애플리케이션과 데이터베이스 간에 보안 링크를 설정하기 위해 서버 주소, 포트 및 인증 자격 증명과 같은 필요한 연결 세부 정보를 제공하는 작업이 포함됩니다.
- 사이드바에서 코끼리 아이콘을 선택하여 PostgreSQL 확장 페이지를 엽니다.
- 연결 추가 단추를 선택합니다.
- 연결 세부 정보를 수동으로 입력하거나 연결 문자열 붙여넣습니다.
- Azure를 사용하는 경우 Azure 계정에 로그인하고 데이터베이스 인스턴스를 찾습니다. 구독, 리소스 그룹, 서버/클러스터 및 데이터베이스 이름을 필터링합니다. 액세스 권한이 있는 구독의 Azure HorizonDB 클러스터가 나열됩니다.
연결 문자열 형식
Azure HorizonDB 클러스터는 두 번째 엔드포인트를 노출합니다. 워크로드와 일치하는 항목을 선택합니다.
- 읽기/쓰기 엔드포인트 - 읽기 및 쓰기를 모두 허용하는 기본 엔드포인트에 연결합니다. 최신 커밋된 데이터를 확인해야 하는 애플리케이션 쓰기, 스키마 변경 및 읽기에 이 엔드포인트를 사용합니다.
- 판독기 엔드포인트 - 클러스터의 모든 읽을 수 있는 HA 복제본에서 자동으로 연결 부하를 분산합니다. 읽기 스케일 아웃, 보고 및 분석 워크로드에 이 엔드포인트를 사용합니다. 현재 최대 4개의 읽을 수 있는 HA 복제본이 지원되며(8개로 증가) 각각은 주 복제본과 동일하게 크기가 조정됩니다.
두 엔드포인트 호스트 이름은 클러스터 Overview 페이지와 Azure 포털의 Replicas 페이지에 나열됩니다. 연결 문자열 형식은 표준 libpq 형식입니다.
# Read/write endpoint (primary)
psql "host=<cluster-name>.<region>.horizondb.azure.com port=5432 dbname=<database> user=<user> sslmode=require"
# Reader endpoint (load-balanced HA replicas)
psql "host=<cluster-name>-reader.<region>.horizondb.azure.com port=5432 dbname=<database> user=<user> sslmode=require"
일반적인 패턴은 읽기/쓰기 엔드포인트에 대한 프로필과 판독기 엔드포인트에 대한 프로필 등 두 개의 프로필을 연결 관리자 저장하고 작업에 따라 프로필 간에 전환하는 것입니다.
인증
확장은 다음 두 가지 인증 방법을 지원합니다.
- 사용자 이름/암호 - 연결 필드에 직접 데이터베이스 자격 증명을 입력합니다.
연결 테스트 및 저장
- 연결 테스트를 선택하여 연결 세부 정보를 확인합니다.
- 테스트에 성공하면 테스트 상자에 확인 표시가 표시됩니다.
- 연결을 설정하려면 연결을 선택합니다.
- 연결이 자동으로 저장되고 연결 창에 표시됩니다.
클라우드 호스팅 데이터베이스에 연결할 때 테스트가 실패하는 경우 클러스터의 방화벽 규칙(HorizonDB)에서 클라이언트 IP 주소를 허용하는지 확인합니다. 두 서비스 모두 현재 IP 허용 목록을 사용하여 공용 액세스를 지원합니다. HorizonDB의 프라이빗 엔드포인트 지원은 로드맵에 있습니다.
데이터베이스 개체 검색
개체 탐색기는 데이터베이스 개체의 계층적 보기를 제공합니다.
- 데이터베이스 항목을 확장하여 스키마, 테이블, 뷰, 함수 및 저장 프로시저를 봅니다.
- 데이터베이스를 마우스 오른쪽 단추로 클릭하여 다음 옵션을 확인합니다.
- 새 쿼리 시작
-
이 데이터베이스와 채팅 (채팅 환경 시작
@pgsql) -
PSQL로 연결하여 터미널 연결 시작
psql
- 테이블을 마우스 오른쪽 단추로 클릭하고 상위 1000개 선택 항목을 선택하여 해당 데이터를 봅니다. 쿼리가 쿼리 편집기에서 열리고 결과는 결과 뷰어 탭에 표시됩니다.
Azure HorizonDB 연결에서 다음을 사용하여 클러스터에서 사용할 수 있는 허용 목록 확장을 나열할 수도 있습니다.
SELECT * FROM pg_available_extensions ORDER BY name;
데이터베이스에 설치할 수 있는 일반적인 HorizonDB 확장에는 다음이 vectorpg_diskannazure_ai포함됩니다.age
CREATE EXTENSION IF NOT EXISTS azure_ai;
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pg_diskann;
CREATE EXTENSION IF NOT EXISTS age;
쿼리 실행
쿼리 편집기를 사용하여 SQL 쿼리 초안을 작성하고 실행합니다.
- 컨텍스트 인식 IntelliSense를 활용하여 SQL 키워드 및 개체 이름을 자동으로 완성합니다.
- 가독성과 정확도를 높이기 위해 구문 강조 표시 및 자동 서식을 사용합니다.
- 쿼리 기록 창을 통해 이전에 실행한 쿼리에 액세스합니다.
HorizonDB에서 읽기 및 쓰기 작업 라우팅하기
읽기/쓰기 및 판독기 엔드포인트 모두에 대한 프로필이 있는 경우 쿼리를 실행하기 전에 쿼리 편집기 연결 선택기에서 적절한 연결을 선택합니다. 쓰기 및 DDL은 읽기/쓰기 엔드포인트에 대해 실행되어야 합니다. 판독기 엔드포인트는 읽기 전용 쿼리를 허용하고 HA 복제본 간에 부하를 분산합니다.
쿼리 결과 검토
결과 뷰어는 쿼리 결과와 상호 작용하는 고급 기능을 제공합니다.
- 추가 분석을 위해 결과를 CSV, JSON 또는 Excel 형식으로 내보냅니다.
- 검색, 필터링 및 정렬 옵션을 사용하여 데이터를 구체화합니다.
- 영구 데이터 뷰는 탭 간에 전환하는 동안 컨텍스트를 유지 관리합니다.
고급 지원을 위해 GitHub Copilot 사용
GitHub Copilot 통합은 AI 기반 코드 제안, 쿼리 최적화 팁 및 대화형 데이터베이스 지원을 제공하여 PostgreSQL 개발 환경을 향상시킵니다. 이 기능을 사용하면 워크플로를 간소화하고, 개발 시간을 줄이고, 데이터베이스 작업에 대한 심층적인 인사이트를 얻을 수 있습니다.
GitHub Copilot 및 Copilot 채팅 확장이 설치되어 있는지 확인합니다. GitHub 계정에 로그인하고 확장 설정에서 Copilot 채팅 에이전트를 사용하도록 설정합니다 @pgsql .
대화형 데이터베이스 프롬프트
데이터베이스를 마우스 오른쪽 단추로 클릭하고 이 데이터베이스와의 채팅 을 선택하여 Copilot와 상호 작용합니다.
자세한 인사이트 및 제안을 받으려면 다음 예제와 같은 프롬프트를 작성합니다.
@pgsql tell me about the tables in the HR schema
Azure HorizonDB 클러스터에 연결된 경우 Copilot 설치된 확장을 포함하여 라이브 연결 컨텍스트를 선택하므로 프롬프트는 pgvector, pg_diskann 고급 필터링 및 azure_ai AI 함수와 같은 HorizonDB 기능을 활용할 수 있습니다.
자세한 내용은 Quickstart: Visual Studio Code PostgreSQL 확장에 대한 GitHub Copilot 구성을 참조하세요.
Visual Studio Code를 사용하여 연결
Visual Studio Code용 PostgreSQL 확장의 Add Connection 옵션은 Azure HorizonDB 클러스터에 연결하는 과정을 간소화해 줍니다. 이 기능은 필요한 연결 세부 정보를 안내하여 설정을 간소화합니다.
연결 추가 단추를 사용하여 HorizonDB 클러스터에 대한 새 연결을 만듭니다. 읽기/쓰기 엔드포인트 또는 판독기 엔드포인트와의 연결을 미리 채울 수 있습니다.
요구 사항 확인
- 측면 창에서 적절한 확인란을 선택하여 모든 필수 구성 요소(Visual Studio Code 및 PostgreSQL 확장)가 충족되는지 확인합니다.
- 필요한 경우 측면 창의 링크를 사용하여 Visual Studio Code 및 확장을 다운로드합니다.
- 필요에 따라 기본 데이터베이스 이름, 인증 방법 및 연결 풀링과 같은 연결 매개 변수를 입력합니다.
Visual Studio Code에서 열기
- 측면 창 에서 Visual Studio Code에서 열기 단추를 선택합니다.
- Visual Studio Code 및 확장을 여는 데 40초 이상이 걸리면 Visual Studio Code에서 다시 시도 열기 단추가 측면 창에 나타납니다.
Visual Studio Code 시작
- Visual Studio Code가 설치되고 실행되면 PostgreSQL 확장의 연결 대화 상자가 자동으로 시작됩니다.
- Visual Studio Code가 설치되어 있지만 열리지 않으면 약 40초 내에 시작되고 연결 대화 상자가 나타납니다.
인증 정보를 제공하세요
기본 인증 방법을 선택합니다.
- 암호 인증 - 사용자 이름 및 암호를 수동으로 입력합니다.
프로필 이름, 데이터베이스 이름(선택 사항), 서버 그룹 및 포트 번호와 같은 다른 연결 세부 정보를 지정합니다.
저장 및 연결
연결 저장 및 연결 단추를 선택하여 연결을 설정합니다. 연결되면 개체 탐색기 트리에서 서버를 확장하여 데이터베이스, 스키마 및 테이블을 보거나 기본 제공 쿼리 도구를 사용하여 데이터베이스 개체를 관리합니다.
Troubleshoot
연결 프로세스 중에 문제가 발생하는 경우:
- Visual Studio Code 및 PostgreSQL 확장이 설치되고 사용하도록 설정되어 있는지 확인합니다.
- Azure HorizonDB 클러스터에서 클라이언트 IP 주소가 허용되는지 확인합니다.
- HorizonDB의 경우 워크로드에 대한 올바른 엔드포인트에 연결하고 있는지 확인합니다. 쓰기는 판독기 엔드포인트가 아닌 읽기/쓰기 엔드포인트를 대상으로 해야 합니다.
- 필수 구성 요소를 충족하지 않는 경우 사이드 창은 연결 다시 시도를 포함하여 문제를 해결하기 위한 피드백과 단계를 제공합니다.
- 데이터베이스에 대한 사용자 이름과 자격 증명이 올바른지 확인합니다.
피드백 및 지원
버그, 기능 요청 및 문제의 경우 Visual Studio Code의 기본 제공 피드백 도구를 사용합니다. Visual Studio Code 도움말 메뉴 또는 PGSQL 명령 팔레트를 통해 이 피드백 프로세스를 완료할 수 있습니다.
-
도움말 메뉴
- 도움말 > 보고서 문제로 이동
-
명령 팔레트
- 명령 팔레트
Ctrl + Shift + P를 열고 다음을 실행합니다.PGSQL: Report Issue
- 명령 팔레트