Visual Studio Code PostgreSQL 확장은 IntelliSense 완성, 키보드 기반 쿼리 실행, 내보내기 옵션이 있는 결과 그리드 및 기본 제공 코드 조각이 포함된 쿼리 편집기를 제공합니다. 표준 VS Code 편집기 탭에서 SQL을 작성하고 IDE를 종료하지 않고 연결된 PostgreSQL 서버에 대해 실행합니다.
사전 요구 사항
- Visual Studio Code용 PostgreSQL 확장이 설치되었습니다.
- PostgreSQL 서버에 대한 활성 연결입니다. 설정 단계는 빠른 시작: PostgreSQL 연결 및 쿼리를 참조하세요.
쿼리 편집기 열기
다음과 같은 여러 가지 방법으로 새 쿼리 편집기를 열 수 있습니다.
- 연결 트리에서 데이터베이스 노드를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택합니다.
- 명령 팔레트에서 실행
PGSQL: New Query합니다(Ctrl+Shift+P). - 확장자가
.sql인 파일을 열거나 새로 만드세요.
쿼리 편집기에서는 SQL 언어 모드에서 VS Code 텍스트 편집기를 사용합니다. 편집기를 서버에 연결하면 확장이 IntelliSense를 활성화하고 쿼리 실행 명령을 사용하도록 설정합니다.
연결 및 연결 해제
쿼리 편집기를 데이터베이스 연결과 연결하려면 다음을 수행합니다.
| 조치 | Windows/Linux | macOS |
|---|---|---|
| 연결하기 | Ctrl+Shift+C | Cmd+Shift+C |
| 연결 끊기 | Ctrl+Shift+D | Cmd+Shift+D |
명령 팔레트에서 PGSQL: Connect 또는 PGSQL: Disconnect을(를) 실행할 수도 있습니다.
데이터베이스 컨텍스트 변경
쿼리 실행을 위한 활성 데이터베이스가 VS Code 상태 표시줄에 나타납니다. 다른 데이터베이스로 전환하려면 다음을 수행합니다.
- 상태 표시줄에서 데이터베이스 이름을 선택하거나 명령 팔레트에서 실행
PGSQL: Change PostgreSQL Database합니다. - 선택기에서 대상 데이터베이스를 선택합니다.
새 데이터베이스 컨텍스트는 해당 편집기에서 모든 후속 쿼리 실행에 적용됩니다.
연결 상태 렌즈
이 pgsql.showConnectionStatusLens 경우true(기본값) 편집기는 현재 연결 상태를 보여 주는 코드 렌즈를 파일 맨 위에 표시합니다. 데이터베이스를 연결하거나 변경할 렌즈를 선택합니다.
IntelliSense
IntelliSense는 쿼리 편집기에서 SQL을 입력할 때 컨텍스트 인식 자동 완성을 제공합니다. 확장은 연결된 데이터베이스 스키마를 분석하여 테이블, 열, 함수 및 키워드를 제안합니다.
IntelliSense는 입력할 때 자동으로 활성화되거나 Ctrl+Space (macOS의 Cmd+Space )를 사용하여 수동으로 트리거할 수 있습니다. 사용할 수 있는 완료 유형은 다음과 같습니다.
| 완료 유형 | Description |
|---|---|
| 키워드 |
SELECT, FROM, WHERE와 같은 SQL 키워드 |
| 테이블/뷰 | 현재 데이터베이스의 테이블 및 뷰 |
| Column | 쿼리에서 참조되는 테이블의 열 |
| Function | 기본 제공 및 사용자 정의 함수 |
| Schema | 데이터베이스에서 사용 가능한 스키마 |
| 참여 제안 |
JOIN 외래 키 관계에 기반한 절 |
테이블 참조 뒤를 입력 JOIN 하면 IntelliSense는 외래 키 관계에 따라 관련 테이블을 제안하고 조인 조건을 채웁니다.
IntelliSense 구성
pgsql.intelliSense.enableIntelliSense 설정으로 IntelliSense를 사용하거나 사용하지 않도록 합니다. IntelliSense는 기본적으로 사용하도록 설정됩니다.
IntelliSense 캐시 새로 고침
데이터베이스 스키마(예: 테이블 또는 열을 추가하여)를 변경하고 IntelliSense가 이러한 변경 내용을 반영하지 않는 경우 캐시를 새로 고칩니다.
- 명령 팔레트를 엽니다(Ctrl+Shift+P).
-
PGSQL: Refresh IntelliSense Cache을 실행합니다.
스키마 마이그레이션, DDL 변경 또는 현재 편집기 세션 외부에서 변경한 후 이 명령을 사용합니다.
쿼리 실행
확장은 연결된 데이터베이스에 대해 SQL 쿼리를 실행하는 여러 가지 방법을 제공합니다.
쿼리 실행
PostgreSQL 쿼리 실행을 사용하여 편집기에서 SQL을 실행합니다. 특정 텍스트를 선택하면 선택한 텍스트만 실행됩니다. 아무것도 선택하지 않으면 편집기의 전체 내용이 실행됩니다.
| 조치 | Windows/Linux | macOS |
|---|---|---|
| PostgreSQL 쿼리 실행 | Ctrl+Shift+E 또는 Shift+Enter | Cmd+Shift+E 또는 Shift+Enter |
| 현재 PostgreSQL 문 실행 | Ctrl+Shift+Enter | Ctrl+Shift+Enter |
현재 PostgreSQL 문 실행은 현재 커서 위치에서 SQL 문만 실행합니다. 편집기에 여러 개의 문이 있고 그중 하나를 선택하지 않고 실행하려는 경우 이 명령을 사용합니다.
쿼리 취소
장기 실행 쿼리를 중지하려면 명령 팔레트에서 실행 PGSQL: Cancel PostgreSQL Query 합니다. 상태 표시줄에는 쿼리가 실행되는 동안 실행 진행률이 표시됩니다.
PostgreSQL 쿼리 결과 패널
쿼리를 실행하면 결과가 편집기 아래의 PostgreSQL 쿼리 결과 패널에 표시됩니다. 패널에는 쿼리 유형에 따라 최대 3개의 탭이 있습니다.
결과 탭
결과 탭에 결과 표가 표시됩니다. 쿼리가 여러 결과 집합을 반환하면 각 집합이 탭 내의 자체 표에 표시됩니다.
결과 표는 데이터를 탐색하기 위한 다음 기능을 제공합니다.
- 정렬: 열 머리글을 마우스 오른쪽 단추로 클릭하고 오름차순 정렬 또는 내림차순 정렬을 선택합니다. 정렬 지우기를 선택하여 정렬을 제거합니다.
- 필터: 열 머리글을 마우스 오른쪽 단추로 클릭하고 필터 표시 를 선택하여 표시된 행의 범위를 좁힐 수 있습니다.
-
열 크기 조정: 열 테두리를 끌어 너비를 조정하거나
pgsql.resultsGrid.autoSizeColumns표시되는 콘텐츠에 따라 열 크기를 자동 크기 조정(기본적으로 설정)합니다. - 행 번호 매기기: 표의 왼쪽에 행 번호가 나타납니다.
- 검색: 결과 도구 모음의 검색 필드를 사용하여 표에서 값을 찾습니다.
조인된 쿼리 및 더 넓은 결과 집합은 동일한 그리드 환경을 사용하므로 편집기를 종료하지 않고도 관련 열을 정렬, 필터링 및 검색할 수 있습니다.
데이터 복사
결과 그리드를 마우스 오른쪽 단추로 클릭하여 복사 옵션에 액세스합니다.
| Option | Description |
|---|---|
| 모두 선택 | 결과 집합의 모든 행 선택 |
| 복사 | 선택한 셀을 클립보드에 복사 |
| 헤더를 사용하여 복사 | 선택한 셀을 열 머리글과 함께 복사 |
| 헤더 복사 | 열 제목만 복사 |
이러한 결과 창 바로 가기 키(설정을 통해 pgsql.shortcuts 구성할 수 있음)를 사용할 수도 있습니다.
| 조치 | 기본 바로 가기 |
|---|---|
| 선택 영역 복사 | Ctrl+C |
| 모두 선택 | Ctrl+A |
| 결과 창 표시/숨기기 | Ctrl+Alt+R |
| 메시지 창 표시/숨기기 | Ctrl+Alt+Y |
| 포커스 결과 표 | Ctrl+Alt+G |
| 이전 결과 표 | Ctrl+위쪽 |
| 다음 결과 표 | Ctrl+아래 |
Tip
복사할 때마다 열 머리글이 포함되도록 pgsql.copyIncludeHeaders을 true(으)로 설정합니다. 복사된 셀에서 줄바꿈 문자를 유지하려면 pgsql.copyRemoveNewLine을(를) false(으)로 설정합니다.
결과 저장
결과 도구 모음에서 저장 단추를 선택하여 쿼리 결과를 내보냅니다.
| 단추 | 포맷 |
|---|---|
| CSV로 저장 | 쉼표로 구분된 값(.csv) |
| JSON으로 저장 | JavaScript 개체 표기법(.json) |
| Excel 저장 | Microsoft Excel 통합 문서(.xlsx) |
다음 설정을 사용하여 CSV 내보내기 동작을 사용자 지정합니다.
| 설정 | Description | 기본값 |
|---|---|---|
pgsql.saveAsCsv.delimiter |
열 구분 기호 문자 | , |
pgsql.saveAsCsv.lineSeparator |
줄 구분 기호 | 시스템 기본값 |
pgsql.saveAsCsv.textIdentifier |
텍스트 필드를 묶기 위한 문자 | " |
pgsql.saveAsCsv.encoding |
파일 인코딩 | utf-8 |
pgsql.saveAsCsv.includeHeaders |
열 제목 포함 | true |
별도의 탭에서 결과 열기
큰 결과 집합의 경우 더 많은 공간을 위해 전용 편집기 탭에서 결과를 엽니다. 결과 도구 모음에서 새 탭에서 열기를 선택하거나 설정에서 설정으로 pgsql.openQueryResultsInTabByDefault 설정 true 하여 항상 별도의 탭에서 결과를 엽니다.
메시지 탭
메시지 탭에는 상태 메시지, 행 수 및 실행 시간을 포함한 쿼리 실행 정보가 표시됩니다. 각 메시지에는 타임스탬프가 포함됩니다.
메시지 창은 기본적으로 결과 표와 함께 열립니다. 이 동작을 변경하려면 pgsql.messagesDefaultOpen를 false로 설정합니다.
Tip
개별 일괄 처리에 대한 실행 시간을 표시하도록 pgsql.showBatchTime 설정합니다true.
쿼리 계획 탭
쿼리를 실행 EXPLAIN 하면 EXPLAIN ANALYZE쿼리 계획 탭이 결과 및 메시지와 함께 표시됩니다. 이 탭을 선택하여 기본 제공 실행 계획 시각화 도우미를 열거나 PostgreSQL 쿼리 결과 패널 도구 모음에서 쿼리 계획 시각화 단추를 선택합니다.
명령 팔레트에서 쿼리 계획 시각화(PostgreSQL) 를 실행하여 현재 쿼리에 대한 계획을 시각화할 수도 있습니다.
실행 계획 시각화 도우미에 대한 자세한 내용은 쿼리 계획 시각화 도우미를 참조하세요.
Apache AGE 쿼리에 대한 그래프 보기
쿼리가 Apache AGE에서 그래프 지향 결과를 반환하면, 확장은 cypher() 함수 호출과 Apache AGE 패턴(agtype, ag_catalog)을 감지하고 결과 배치를 표준 그리드 대신 그래프 뷰에서 엽니다.
- 보기 전환: 결과 도구 모음에서 그래프로 전환을 선택하여 그리드에서 그래프 보기로 전환하거나 표로 전환하여 표로 돌아갑니다.
- 요소 검사: 그래프에서 노드 또는 가장자리를 선택하여 속성 패널에서 해당 레이블 및 속성을 봅니다.
- 탐색: 그래프 도구 모음 단추 사용: 확대, 축소, 맞춤으로 확대 및 다시 설정.
- 내보내기: 그래프 도구 모음에서 PNG로 저장 을 선택하여 그래프를 이미지로 내보냅니다.
메모
쿼리가 그래프 가능 데이터를 반환하지 않는 경우 확장은 표준 그리드 보기를 유지합니다.
코드 조각
확장에는 일반적인 SQL 패턴을 스캐폴드하는 데 도움이 되는 기본 제공 PostgreSQL 코드 조각이 포함되어 있습니다. 편집기에서 코드 조각 접두사를 입력하고 Tab 키를 눌러 코드 조각을 확장합니다. 확장된 스니펫 내의 자리 표시자 사이를 Tab 키로 이동하며 값을 입력합니다.
사용 가능한 코드 조각
| 프리픽스 | Description |
|---|---|
pgCreateTable |
기본 키를 사용하여 기본 테이블 만들기 |
pgDropDatabase |
기존 PostgreSQL 데이터베이스 삭제 |
pgDropTable |
표 제거 |
pgInsertData |
표에 행 삽입 |
pgSelectAll |
단순 SELECT * 쿼리 |
pgUpdateRows |
테이블의 데이터 업데이트 |
pgDeleteRows |
테이블에서 데이터 삭제 |
pgCreateIndex |
지정된 열에 인덱스 만들기 |
pgCreateUser |
새 역할 또는 사용자 만들기 |
pgGrantPrivileges |
사용자에게 테이블에 대한 권한 부여 |
pgCTE |
공통 테이블 식(CTE) 예제 |
pgLeftJoin |
LEFT JOIN 쿼리 예제 |
pgExplainAnalyze |
EXPLAIN ANALYZE 성능 세부 정보에 대한 쿼리 |
pgListTables |
특정 스키마의 모든 테이블 나열 |
Tip
편집기에 pg를 입력하고 IntelliSense 제안을 살펴보면 사용 가능한 모든 스니펫을 확인할 수 있습니다.
쿼리 기록
PostgreSQL 작업 표시줄 패널의 쿼리 기록 보기는 실행한 쿼리를 자동으로 캡처하므로 나중에 다시 확인하고 다시 사용할 수 있습니다.
쿼리 기록 관리
| 조치 | 사용 방법 |
|---|---|
| 쿼리 열기 | 쿼리 기록 보기에서 항목을 선택하여 새 편집기에 로드합니다. |
| 쿼리 실행 | 항목을 마우스 오른쪽 단추로 클릭하고 쿼리 실행을 선택합니다. |
| 쿼리 복사 | 항목을 마우스 오른쪽 단추로 클릭하고 쿼리 복사를 선택합니다. |
| 항목 삭제 | 항목을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다. |
| 모두 지우기 | 보기 도구 모음에서 모든 쿼리 기록 지우 기 단추 선택 |
| 명령 팔레트에서 찾아보기 |
PGSQL: Open Query History in Command Palette을 실행합니다. |
컨트롤 기록 캡처
쿼리 기록 보기 도구 모음을 사용하여 캡처를 시작하거나 일시 중지합니다.
- 쿼리 기록 캡처 시작: 실행된 쿼리 기록을 다시 시작합니다.
- 쿼리 기록 캡처 일시 중지: 기록 중지
다음 설정을 사용하여 기록 동작을 구성합니다.
| 설정 | Description | 기본값 |
|---|---|---|
pgsql.enableQueryHistoryFeature |
쿼리 기록 기능 사용 | true |
pgsql.enableQueryHistoryCapture |
실행된 쿼리 자동 캡처 | true |
pgsql.queryHistoryLimit |
저장된 기록 항목의 최대 수 | 20 |