Visual Studio Code PostgreSQL 확장의 개체 탐색기는 PostgreSQL 서버, 데이터베이스, 스키마 및 개별 데이터베이스 개체의 트리 보기를 제공합니다. 편집기를 벗어나지 않고 테이블, 뷰, 함수 및 기타 개체를 찾아보고, 스키마를 검색하고, SQL 스크립트를 생성할 수 있습니다.
Tip
개체 탐색, 검색 및 스크립트 생성에 개체 탐색기를 사용합니다. 테이블 관계의 시각적 다이어그램을 원하는 경우 스키마 시각화 도우미를 엽니다.
개체 탐색기 열기
작업 표시줄에서 PostgreSQL 아이콘을 선택하여 PostgreSQL 보기를 엽니다. Ctrl+Alt+D(Windows/Linux) 또는 Cmd+Alt+D(macOS)를 누를 수도 있습니다.
보기에는 축소 가능한 트리에 서버를 표시하는 연결 섹션이 포함되어 있습니다. 연결된 서버에 녹색 아이콘이 표시됩니다. 연결이 끊긴 서버에 빨간색 아이콘이 표시됩니다. 연결이 없으면 연결을 시작하는 데 도움이 되는 연결 추가 노드가 나타납니다.
트리 계층 구조
개체 탐색기는 데이터베이스 개체를 일관된 계층 구조로 구성합니다.
Server → Database → 스키마 → 객체 컬렉션
기본적으로 개체는 스키마별로 그룹화됩니다. 각 스키마 아래에서 다음과 같은 컬렉션 폴더를 찾습니다.
- 테이블: 테이블을 확장하여 열, 키, 인덱스, 제약 조건 및 트리거를 확인합니다.
- 조회 수
- 저장 프로시저
- 함수: 별도의 폴더에 스칼라 반환, 테이블 반환 및 집계 함수 포함
- 시퀀스
- 형식: 사용자 정의 형식 및 사용자 정의 테이블 형식
정확한 컬렉션 폴더 집합은 데이터베이스에 있는 개체에 따라 달라지고 백 엔드 도구 서비스에 의해 채워집니다.
컬렉션 폴더를 확장하여 개별 개체를 확인합니다. 테이블의 경우 열, 키(기본, 외외, 고유), 인덱스, 제약 조건 및 트리거를 자세히 살펴볼 수 있습니다.
메모
이 설정은 pgsql.objectExplorer.expandTimeout 노드를 확장할 때 확장이 대기하는 시간을 제어합니다. 기본값은 45초입니다. 로드하는 데 더 오래 걸리는 큰 스키마를 사용하는 경우 이 값을 늘림
스키마별로 그룹화
pgsql.objectExplorer.groupBySchema 설정을 사용하도록 설정하면(기본값) 데이터베이스 개체가 해당 스키마 노드 아래에 표시됩니다. 이 동작을 토글하려면 다음을 수행합니다.
- 명령 팔레트를 엽니다(Ctrl+Shift+P / Cmd+Shift+P).
- 스키마별로 그룹 사용 또는 스키마별 그룹 사용 안 함 실행
그룹 스키마를 사용하지 않도록 설정하면 개체 컬렉션 폴더가 개별 스키마가 아닌 데이터베이스 노드 바로 아래에 표시됩니다.
서버 연결 및 관리
연결 트리에서 직접 서버 연결을 관리합니다 . 연결 섹션의 맨 위에 있는 도구 모음과 마우스 오른쪽 단추로 클릭하는 상황에 맞는 메뉴는 다음 작업을 제공합니다.
도구 모음 작업
| 단추 | Command | Description |
|---|---|---|
| + | 새 연결 추가 | 연결 대화 상자를 열어 기존 PostgreSQL 서버를 추가합니다. |
| 서버 아이콘 | 새 서버 만들기 | 새 Azure Database for PostgreSQL 유연한 서버를 배포하거나 Docker 기반 서버를 만들 수 있는 만들기 허브를 엽니다. |
| 폴더 아이콘 | 서버 그룹 만들기 | 연결을 구성하는 새 서버 그룹을 만듭니다. |
| 필터 아이콘 | 연결된 서버 / 만 표시연결된 서버 및 연결이 끊긴 서버 표시 | 트리에서 연결이 끊긴 서버의 표시 유형을 전환합니다. |
| 검색 아이콘 | 개체 검색 | 검색 패널을 엽니다. |
서버 상황에 맞는 메뉴
서버 노드를 마우스 오른쪽 단추로 클릭하여 다음 명령에 액세스합니다.
- 개체 검색: 이 서버 범위로 한정된 검색 패널을 엽니다.
- 연결 편집: 이 서버에 대해 저장된 설정을 사용하여 연결 대화 상자를 다시 엽니다.
- 연결 끊기: 활성 연결을 닫습니다. 서버는 나중에 다시 연결할 수 있도록 빨간색 아이콘이 있는 트리에 유지됩니다.
- 제거: 연결 트리에서 서버 항목을 완전히 삭제 합니다 .
- 새로 고침: 서버의 자식 노드를 다시 로드합니다. VS Code 외부에서 스키마를 변경한 후에 사용합니다.
메모
연결 끊김 은 연결된 서버에만 나타납니다. 제거 는 연결된 서버와 연결이 끊긴 서버 모두에서 사용할 수 있습니다.
데이터베이스 상황에 맞는 메뉴
액세스하려면 데이터베이스 노드를 마우스 오른쪽 단추로 클릭합니다.
- 새 쿼리: 이 데이터베이스에 이미 연결된 쿼리 편집기를 엽니다.
-
PSQL을 사용하여 연결: .를 사용하여 이 데이터베이스
psql에 연결된 통합 터미널 세션을 엽니다. 자세한 내용은 터미널에서 psql 사용을 참조하세요. - 스키마 시각화: 이 데이터베이스에 대한 스키마 시각화 도우미 를 엽니다.
- 검색 개체: 이 데이터베이스로 범위가 지정된 검색 패널을 엽니다.
스키마 노드를 마우스 오른쪽 단추로 클릭하여 스키마 시각화(해당 스키마 로 범위 지정) 및 검색 개체에 액세스합니다.
서버 그룹
서버 그룹을 사용하면 명명된 폴더로 연결을 구성할 수 있습니다. 이는 여러 환경 또는 팀에서 여러 서버로 작업할 때 유용합니다.
- 연결 도구 모음에서 폴더 아이콘(서버 그룹 만들기)을 선택하거나 명령 팔레트를 열고 PGSQL: 서버 그룹 만들기를 실행합니다.
- 그룹의 이름, 선택적 설명 및 색을 입력합니다.
- 확인을 선택합니다.
그룹은 연결 트리에 폴더로 나타납니다. 서버 노드를 그룹으로 끌어 다시 구성할 수 있습니다. 그룹을 수정하려면 그룹을 마우스 오른쪽 단추로 클릭하고 서버 그룹 편집을 선택합니다. 그룹을 삭제하려면 마우스 오른쪽 단추를 클릭하고 제거를 선택합니다.
새 연결 추가 또는 새 서버 만들기를 사용하여 해당 그룹에 직접 연결을 추가하려면 서버 그룹을 마우스 오른쪽 단추로 클릭합니다.
개체 찾기
큰 데이터베이스에서 특정 개체를 찾아야 하는 경우 트리 노드를 수동으로 확장하는 대신 기본 제공 검색을 사용합니다.
연결 도구 모음에서 검색 아이콘을 선택하여 검색 패널 을 엽니다. 서버, 데이터베이스 또는 스키마 노드를 마우스 오른쪽 단추로 클릭하고 검색 개체 를 선택하여 범위를 미리 채울 수도 있습니다.
검색 패널에서는 다음 컨트롤을 제공합니다.
| Control | Description |
|---|---|
| 연결 선택 | 검색할 서버 연결을 선택합니다. 드롭다운 목록에는 연결 상태(연결 / 끊김)와 호스트, 포트 및 사용자와 같은 세부 정보가 표시됩니다. |
| 데이터베이스 선택 | 검색할 데이터베이스를 선택합니다. |
| 모든 스키마 | 결과를 특정 스키마로 좁히거나 모든 스키마 로 설정하여 모든 위치에서 검색합니다. |
| 모든 형식 | 개체 유형별로 필터링합니다. 테이블, 뷰, 함수, 저장 프로시저 및 시퀀스와 같은 형식의 조합을 선택합니다. |
| 개체 검색... | 개체 이름과 일치하는 부분 문자열을 입력합니다. 검색은 대/소문자를 구분하지 않습니다. |
검색을 선택하여 쿼리를 실행합니다. 결과는 개체 이름, 형식 및 개체 경로 열이 있는 표에 표시됩니다. 결과 행을 선택하여 트리에서 해당 개체로 직접 이동합니다. 연결 트리는 필요한 노드를 자동으로 확장합니다.
데이터베이스 개체 스크립팅
연결 트리에서 데이터베이스 개체에 대한 SQL 스크립트를 직접 생성할 수 있습니다 . 스크립트 가능 개체를 마우스 오른쪽 단추로 클릭하여 스크립팅 명령에 액세스합니다.
| Command | 사용 가능 | 생성된 SQL |
|---|---|---|
| 상위 1000개 선택 | 테이블, 뷰 |
SELECT 처음 1,000개의 행을 반환하는 쿼리입니다. |
| 스크립트를 Create로 | 테이블, 뷰, 스키마, 저장 프로시저, 함수, 트리거, 인덱스, 키, 역할, 형식 | 전체 CREATE DDL 문입니다. |
| Drop으로 스크립트 | Script as Create와 동일 |
DROP 객체에 대한 문 |
| Alter로서의 스크립트 | 뷰, 함수, 저장 프로시저 |
ALTER 개체에 대한 설명입니다. |
| 스크립트로 실행 | 저장 프로시저 |
CALL 또는 SELECT 루틴을 실행하는 문입니다. |
생성된 각 스크립트는 원본 개체와 동일한 데이터베이스에 연결된 새 쿼리 편집기 탭에서 열립니다. 스크립트를 즉시 검토, 편집 및 실행할 수 있습니다.
Tip
상위 1000을 선택하는 것이 테이블 데이터를 미리 보는 가장 빠른 방법입니다. 테이블을 마우스 오른쪽 단추로 클릭하고 상위 1000을 선택하여 한 단계에서 쿼리를 열고 실행합니다.
이름 복사
연결 트리에서 폴더가 아닌 개체를 마우스 오른쪽 단추로 클릭하고 이름 복사를 선택하여 정규화된 이름을 클립보드에 복사합니다. 노드를 선택하고 Ctrl+C(Windows/Linux) 또는 Cmd+C(macOS)를 누를 수도 있습니다.
복사된 이름은 SQL 쿼리에 [database].schema.[object] 붙여넣을 준비가 된 대괄호 표기법 형식을 사용합니다.
개체 탐색기에서 새 쿼리
데이터베이스 노드를 마우스 오른쪽 단추로 클릭하고 새 쿼리 를 선택하여 해당 데이터베이스에 이미 연결된 쿼리 편집기를 엽니다. 편집기에서 서버 연결을 상속하고 선택한 데이터베이스를 대상으로 하므로 쿼리 작성을 즉시 시작할 수 있습니다.
트리 노드 필터링
일부 컬렉션 폴더는 표시되는 개체의 범위를 좁히기 위한 필터링을 지원합니다. 노드를 필터링할 수 있는 경우 마우스 오른쪽 단추로 클릭하고 필터 를 선택하여 필터 패널을 엽니다. 개체 속성에 포함, 다음으로 시작 또는 같음과 같은 조건을 설정한 다음, 적용하려면 확인을 선택할 수 있습니다.
필터링된 노드는 레이블 뒤에 (filtered)가 표시됩니다. 필터를 제거하려면 노드를 마우스 오른쪽 단추로 클릭하고 필터 패널에서 [지우기] 를 선택합니다.
끌어서 놓기
서버 그룹 간에 서버 노드를 끌어 연결을 다시 구성할 수 있습니다. 또한 연결 트리에서 쿼리 편집기로 데이터베이스 개체(테이블, 뷰, 함수, 저장 프로시저)를 끌어서 스키마로 정규화된 이름을 텍스트로 삽입할 수도 있습니다.