Visual Studio Code용 PostgreSQL 확장을 사용하면 데이터베이스에 자동으로 연결되는 psql 세션을 열고 .sql 파일을 psql 통해 실행할 수 있습니다. 편집기를 종료하지 않고 백슬래시 명령, psql 워크플로 및 대화형 스크립팅을 비롯한 네이티브 COPY 기능에 대한 모든 권한을 얻을 수 있습니다.
확장은 연결 세부 정보(호스트, 포트, 데이터베이스, 사용자 및 암호) psql 를 자동으로 전달하므로 세션을 연 후 즉시 작업을 시작할 수 있습니다.
필수 조건
- Visual Studio Code용 PostgreSQL 확장이 설치되었습니다.
- PostgreSQL 서버에 대한 활성 연결입니다. 설정 단계는 빠른 시작: PostgreSQL 연결 및 쿼리를 참조하세요.
-
psql시스템에 설치된 명령줄 클라이언트입니다. - Visual Studio Code 작업 영역 폴더를 엽니다.
메모
확장을 찾을 psql수 없는 경우 PostgreSQL 다운로드 페이지에대한 자세한 정보 링크가 포함된 오류 알림이 표시됩니다. 설정을 사용하여 확장을 사용자 지정 설치 위치로 가리킬 수도 있습니다 pgsql.pgBinaryDirs .
psql 이진 경로 구성을 참조하세요.
psql와 쿼리 편집기 중에서 선택하세요
대부분의 PostgreSQL 워크플로는 서로 다른 시간에 두 도구를 사용합니다.
| Tool | 적합한 대상 |
|---|---|
| 쿼리 편집기 및 IntelliSense | IntelliSense, 그래픽 결과, 차트, 쿼리 기록 및 내보내기 결과입니다. |
psql 터미널 |
백슬래시 명령, 네이티브 스크립트 실행, \copy 워크플로 및 터미널 기반 문제 해결. |
연결된 터미널 열기
특정 데이터베이스에 psql 자동으로 연결되는 세션을 엽니다. 확장은 환경 변수를 사용하여 psql-h-p-d시작하고 -U 플래그를 PGPASSWORD 지정하므로 연결 세부 정보를 수동으로 입력할 필요가 없습니다.
- 연결 트리에서 데이터베이스 노드를 마우스 오른쪽 단추로 클릭합니다.
- PSQL로 연결을 선택합니다.
선택한 데이터베이스에 연결된 Visual Studio Code 작업 터미널이 열립니다psql. 터미널 탭의 이름은 PSQL: <프로필 이름>입니다.
명령 팔레트(Ctrl+Shift+P / Cmd+Shift+P):PGSQL 검색: PSQL로 연결에서 이 명령을 실행할 수도 있습니다.
메모
Microsoft Entra ID 인증을 사용하는 Azure Database for PostgreSQL 연결의 경우 확장은 시작하기 psql 전에 인증 토큰의 유효성을 검사하고 토큰을 암호로 전달합니다. 세션은 수동 재인증 없이 연결 상태를 유지합니다.
SQL 파일 실행
활성 편집기의 연결을 사용하여 psql를 통해 .sql 파일을 실행합니다. 출력이 Visual Studio Code 작업 터미널에 나타납니다.
- 편집기
.sql에서 파일을 엽니다. - 편집기가 아직 연결되지 않은 경우 데이터베이스에 연결합니다.
- 편집기를 마우스 오른쪽 단추 로 클릭하고 PSQL을 사용하여 파일 실행을 선택합니다.
확장은 파일을 저장한 다음 현재 활성화된 연결에 대해 psql -f <filepath>를 실행합니다. 실행 출력을 표시하기 위해 작업 터미널이 열립니다. 작업 디렉터리가 파일이 포함된 폴더로 설정되므로 스크립트의 상대 경로가 올바르게 확인됩니다.
Important
실행하기 전에 파일을 저장합니다. 저장되지 않은 변경 내용을 저장할 수 없는 경우 확장명은 PSQL 명령을 실행하기 전에 파일을 저장해야 한다는 메시지를 표시합니다. 작업이 취소됩니다.
psql 이진 경로 구성
확장은 다음 순서대로 세 위치에서 psql를 검색합니다.
- 번들 바이너리: 확장에 포함되어 제공되며 버전별로 정리된 PostgreSQL 클라이언트 도구입니다.
-
시스템 PATH: 운영 체제의
PATH환경 변수에 나열된 디렉터리입니다. -
사용자 지정 디렉터리: 설정에 추가하는 경로입니다
pgsql.pgBinaryDirs.
여러 버전을 psql 찾은 경우 확장은 서버의 PostgreSQL 버전과 가장 일치하는 버전을 선택합니다. 정확히 일치하는 항목이 없으면 사용 가능한 가장 가까운 버전을 사용합니다.
사용자 지정 이진 디렉터리를 추가하려면 다음을 수행합니다.
-
설정(
Ctrl+,/Cmd+,)을 엽니다. -
pgsql.pgBinaryDirs를 검색합니다. -
항목 추가를 선택하고 이진 파일이 포함된 디렉터리의 절대 경로를 입력합니다
psql. - 변경 내용이 적용되려면 Visual Studio Code 다시 시작합니다.
Tip
Homebrew가 있는 macOS에서 일반적인 경로는 .입니다 /opt/homebrew/opt/postgresql@17/bin. Windows에서는 일반적으로 C:\Program Files\PostgreSQL\17\bin입니다.
확장이 psql을 시작하는 방법
PSQL로 연결 또는 PSQL을 사용하여 파일 실행을 선택하면 확장 프로그램은 다음과 같이 호출을 psql 어셈블합니다.
| 연결 세부 정보 | 확장이 이를 전달하는 방법 |
|---|---|
호스트(-h) |
연결 프로필의 서버 주소로부터 |
포트(-p) |
연결 프로필의 포트에서 기본값은 5432입니다. |
데이터베이스(-d) |
선택한 데이터베이스 노드 또는 연결 프로필의 기본 데이터베이스 |
사용자(-U) |
연결 프로필의 사용자 이름이며, Microsoft Entra ID의 경우 Entra 사용자 이름 또는 이메일 주소입니다. |
| 암호 |
PGPASSWORD 환경 변수를 통해 설정됨; Microsoft Entra ID의 새로 고쳐진 액세스 토큰 |
| 클라이언트 인코딩 | 환경 변수를 PGCLIENTENCODING 통해 설정(기본값: UTF8) |
확장은 psql 패널에서 열리는 Visual Studio Code 작업으로 실행됩니다. 출력을 검토할 수 있도록 종료 후에도 psql 작업 터미널이 열린 상태로 유지됩니다.
사용 사례
터미널은 psql 기본 제공 쿼리 편집기 이외의 기능이 필요한 경우에 유용합니다.
-
대화형 SQL 세션: 임시 명령을 실행하고 친숙한
psql환경에서 결과를 검사합니다. -
대량 데이터 가져오기/내보내기: 고성능 데이터 로드에 사용하거나
\copy명령을 사용합니다COPY. -
관리 작업: 모든
psql권한을 사용하여 역할, 권한 및 서버 구성을 관리합니다. -
스크립트 테스트: 스크립트를 배포하기 전에 네이티브
.sql로 유효성을 검사psql합니다. -
백슬래시 명령: 그래픽 쿼리 편집기에서 사용할 수 없는
\dt,\d+,\timing,\x및 기타 명령을 사용합니다.
일반적인 psql 작업
데이터베이스 개체 검사
빠른 스키마 검사를 위해 백슬래시 명령을 사용합니다 psql .
\dt
\d+ public.orders
\dn
이러한 명령은 테이블을 나열하고, 자세한 개체 정의를 표시하고, 스키마를 나열합니다.
타이밍 및 확장된 출력 켜기
\timing on
\x on
SELECT * FROM public.orders LIMIT 5;
\timing 는 각 문 뒤의 쿼리 기간을 표시합니다. 확장된 출력(\x)을 사용하면 와이드 행을 더 쉽게 읽을 수 있습니다.
다음을 사용하여 데이터 로드 또는 내보내기 \copy
\copy public.customers FROM '/Users/example/customers.csv' WITH (FORMAT csv, HEADER true)
확장에서 관리하는 연결 컨텍스트를 재사용하면서 터미널용 대량 가져오기 또는 내보내기에 \copy를 사용하세요.
문제 해결
psql 찾을 수 없음
확장에 "psql 실행 파일을 찾을 수 없음" 오류가 표시되면 다음 단계를 시도합니다.
- PostgreSQL 다운로드 페이지에서 운영 체제용 PostgreSQL 클라이언트 도구를 설치합니다.
-
psql시스템 터미널에서 실행psql --version하여 사용할 수 있는지 확인합니다. - 비표준 위치에 설치된 경우
psql설정에 디렉터리를 추가합니다pgsql.pgBinaryDirs. psql 이진 경로 구성을 참조하세요. - Visual Studio Code를 다시 시작합니다.
작업 영역 폴더 열기
확장을 실행 psql하려면 열려 있는 작업 영역 폴더가 필요합니다. 작업 영역 폴더를 열어야 한다는 메시지가 표시되면 파일>열기 폴더가 있는 폴더를 연 다음 다시 시도합니다.
인증 또는 연결 실패
열리지만 연결이 실패하는 경우 psql :
- 연결 프로필에서 호스트, 포트 및 데이터베이스가 올바른지 확인합니다. 연결 및 ID를 참조하세요.
- Microsoft Entra ID 인증의 경우 계정이 여전히 로그인되어 있는지 확인합니다. 확장은 토큰을 자동으로 새로 고치지만 만료된 세션에는 재인증이 필요할 수 있습니다.
- SSL 또는 SSH 터널을 사용하는 경우 다시 열기 전에 연결 대화 상자에서 동일한 연결을 다시 테스트합니다
psql.
파일 변경 내용이 실행되지 않음
PSQL을 사용하여 실행 파일로 파일을 실행하면 확장 프로그램은 실행하기 전에 디스크에 파일을 저장합니다. 저장에 실패하면 확장이 작업을 취소합니다. 출력을 검토하기 전에 파일을 성공적으로 저장합니다.