PostgreSQL 확장의 데이터 편집 기능은 개체 탐색기 테이블을 편집 가능한 표로 엽니다. 현재 위치에서 값을 변경하고, 행을 추가 또는 삭제하고, 보류 중인 모든 변경 내용을 SQL로 검토한 다음, 변경 내용을 데이터베이스에 다시 저장할 수 있습니다. 데이터 편집은 Visual Studio Code커서에서 동일한 방식으로 실행됩니다.
데이터 편집을 사용하는 경우
다음을 수행해야 하는 경우 데이터 편집 을 사용합니다.
-
UPDATE또는INSERT구문을 수동으로 작성하지 않고도 소수의 행을 수정하거나 업데이트합니다. - 테이블을 살펴보고 각 열에 맞는 편집기를 사용해 데이터 형식을 인식하는 빠른 수정을 수행하거나
- 커밋하기 전에 편집 집합이 생성하는 SQL을 검토합니다.
Tip
데이터 편집 은 작은 대상 행 변경에 가장 적합합니다. 대량 변경, 복잡한 필터 또는 스크립션된 업데이트의 경우 대신 쿼리 편집기에서 SQL을 작성합니다. 개체 탐색기를 사용하여 테이블에 대한 쿼리를 스크립깅하거나 엽니다.
사전 요구 사항
테이블 데이터를 편집하기 전에 다음이 있는지 확인합니다.
- 대상 PostgreSQL 데이터베이스에 대한 활성 연결 및
- 기본 키가 있는 테이블입니다. 데이터 편집 에는 각 행을 식별하는 기본 키가 필요하므로 한 행이 없는 테이블이 읽기 전용으로 열립니다. 행은 볼 수 있지만 변경할 수는 없습니다.
편집기 열기
- 연결 트리에서 데이터베이스, 해당 스키마(예: public) 및 Tables 폴더를 확장합니다. 스키마별로 그룹을 해제하면 테이블 폴더가 데이터베이스 바로 아래에 나타납니다.
- 변경할 테이블을 마우스 오른쪽 단추로 클릭합니다.
- 데이터 편집을 선택합니다.
확장은 제목(예<schema>.<table> - Edit Data: )이라는 public.models - Edit Data 웹 보기를 열고 표의 행을 그리드에 로드합니다. 로드하는 행 수는 행 제한 설정으로 제한됩니다.
셀 편집
그리드에는 테이블의 각 행이 각 행의 상태 표시기와 함께 표시되므로, 변경되지 않은 행과 변경, 추가 또는 삭제 대상으로 표시된 행을 구분할 수 있습니다. 각 열은 형식 인식 편집기를 사용하므로 데이터에 대한 올바른 컨트롤을 얻을 수 있습니다.
- 텍스트 및 숫자 열은 스프레드시트처럼 편집됩니다. 입력을 시작하여 값을 바꾸거나 Enter 키 또는 F2 키를 눌러 편집합니다.
- 불리언 열은 참/거짓/NULL 토글을 표시합니다. 화살표 키를 사용하여 옵션 간에 이동하고 Enter 키를 사용하여 커밋합니다.
- Enum 열에서는 Enter 키 또는 F2 키를 누르면 해당 형식에 유효한 값의 드롭다운 목록이 열립니다.
- 날짜 및 시간 열은 날짜/시간 편집기 설정에 따라 네이티브 날짜/시간 선택기 또는 일반 텍스트를 사용합니다.
- NULL 및 null 허용 열은 명시적으로 처리되므로 모호하지 않고 값을 설정하거나 지울 수 있습니다.
셀을 변경하면 행의 상태 표식이 보류 중(더티) 상태로 전환되고 저장 및 취소 변경 내용 표시줄이 나타납니다.
긴 텍스트 또는 JSON 값의 경우 확장된 편집기를 열어 비좁은 단일 셀 대신 넓은 언어 인식 편집 화면을 가져옵니다. 셀의 편집기를 열고 확장 컨트롤을 선택하여 더 큰 셀 편집 기에서 값을 열고 변경한 다음 적용을 선택합니다.
행 추가 또는 삭제
도구 모음을 사용하여 테이블에 있는 행을 변경합니다.
- 행을 추가 하면 서버 쪽 기본값으로 미리 채워진 저장되지 않은 새 행이 만들어지고 편집 가능한 첫 번째 셀로 이동합니다.
- 삭제 는 삭제할 선택한 기존 행을 표시합니다. 저장될 때까지 행은 삭제 표식과 함께 계속 표시됩니다. 저장되지 않은 새 행을 삭제하면 즉시 제거됩니다.
- 행을 되돌리 면 선택한 행에서 보류 중인 변경 내용이 삭제됩니다. 편집된 행이 마지막으로 저장된 값으로 반환되고 저장되지 않은 새 행이 제거됩니다.
모든 작업은 테이블의 사용 권한을 존중합니다. 테이블에 행을 삽입하거나 삭제할 수 없거나 테이블이 읽기 전용인 경우 일치하는 작업은 사용하지 않도록 유지됩니다.
변경 내용 검토 및 저장
보류 중인 변경 내용이 있는 동안 보류 중인 항목과 미리 보기 변경 내용, 저장 및 취소 작업에 대한 요약이 포함된 변경 내용 표시줄이 계속 표시됩니다. 보류 중인 변경 내용이 없을 때까지 새로 고침을 사용할 수 없으므로 다시 로드하면 편집 내용이 자동으로 삭제되지 않습니다.
변경 내용 미리 보기를 선택하여 보류 중인 내용과 INSERT 작업별로 그룹화된 문을 나열하는 UPDATEDELETE검토 창을 엽니다. 연결에서 값을 렌더링할 수 있는 경우 창에 정확한 SQL이 표시됩니다. 그렇지 않으면 바인딩된 값이 별도로 나열된 매개변수화된 문을 표시합니다. 저장하면 SQL 문이 단일 트랜잭션에서 실행됩니다. 창에서 다음을 수행할 수 있습니다.
- SQL을 복사 하여 보류 중인 문을 클립보드에 넣거나
- 쿼리 편집기에서 열기를 선택하면 테이블의 서버 및 데이터베이스에 이미 연결된 쿼리 편집기에서 동일한 SQL을 열어 직접 수정하거나 실행할 수 있습니다.
변경 내용이 올바르게 표시되면 저장 을 선택하여 보류 중인 모든 변경 내용을 데이터베이스에 커 밋하거나 삭제 를 선택하여 모두 되돌립니다. 두 작업 모두 보류 중인 변경 내용이 있고 테이블을 쓸 수 있는 경우에만 사용할 수 있습니다.
설정
데이터 편집에는 세 가지 설정이 있습니다. 사용자 또는 작업 영역 설정에서 설정하세요. pgsql.editData을(를) 검색하거나 settings.json에서 직접 편집하세요.
| 설정 | Default | 설명 |
|---|---|---|
pgsql.editData.rowLimit |
200 |
테이블 데이터를 편집할 때 로드할 최대 행 수입니다. |
pgsql.editData.dateTimeEditor |
native |
데이터 편집에서 날짜/시간 셀에 네이티브 날짜/시간 입력(native) 또는 일반 텍스트 입력(text)을 사용할지 여부를 제어합니다.
native표준 시간대 인식 타임스탬프는 여전히 일반 텍스트를 사용합니다. |
pgsql.editData.tabPastLastCell |
addRow |
탭이 편집 가능한 마지막 셀 addRow 을 지나면 어떻게 되는지 제어합니다. 새 행을 만들고 첫 번째 셀 stop 을 열고 셀을 커밋하고 표 끝에서 중지합니다. |
사용 권한 및 요구 사항
- 기본 키. 편집하려면 행을 고유하게 식별하기 위한 기본 키가 필요합니다. 테이블에 해당 항목이 없으면 읽기 전용으로 열립니다. 기본 키 열의 값을 변경하면 데이터 편집에서 저장하기 전에 확인하라는 메시지가 표시됩니다.
- 열 및 테이블 사용 권한. 데이터 편집은 사용 권한을 인식합니다. 읽기 전용 열은 편집할 수 없으며, 현재 역할로 해당 테이블에서 행 추가, 삭제, 저장 작업을 수행할 수 없으면 해당 작업은 비활성화된 상태로 유지됩니다.