DROP EXTERNAL VOLUME
DROP EXTERNAL VOLUME
계정에서 외부 볼륨(External Volume)을 제거하되, UNDROP EXTERNAL VOLUME으로 복구할 수 있도록 버전을 보존하는 명령어입니다.
출처: 문서
본문
DROP EXTERNAL VOLUME은 계정에서 외부 볼륨을 제거하되, UNDROP EXTERNAL VOLUME으로 복구할 수 있도록 외부 볼륨의 버전을 보존합니다. 관련 명령어로 CREATE EXTERNAL VOLUME, ALTER EXTERNAL VOLUME, SHOW EXTERNAL VOLUMES, DESCRIBE EXTERNAL VOLUME이 있어요.
구문 (Syntax)
DROP EXTERNAL VOLUME [ IF EXISTS ] <name>
파라미터 (Parameters)
- name — 삭제할 외부 볼륨의 식별자를 지정합니다. 식별자에 공백, 특수 문자 또는 대소문자 혼합 문자가 포함된 경우 전체 문자열을 큰따옴표로 감싸야 합니다(예:
"My object"). 큰따옴표로 감싼 식별자는 대소문자를 구분해요.
접근 제어 요구 사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 OWNERSHIP 권한(객체: External volume)이 있어야 합니다. OWNERSHIP은 객체에 대한 특별한 권한으로, 객체를 생성한 역할에 자동으로 부여되지만 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP으로 이전할 수 있습니다.
지정된 권한 집합으로 커스텀 역할을 만드는 방법은 Creating custom roles을, securable 객체에 대한 역할과 권한 부여에 관한 일반 정보는 Overview of Access Control을 참고하세요.
사용 참고 사항 (Usage notes)
- 하나 이상의 Iceberg 테이블이 외부 볼륨과 연결되어 있으면 외부 볼륨을 삭제하거나 교체할 수 없습니다.
- 외부 볼륨에 의존하는 테이블을 보려면 SHOW ICEBERG TABLES 명령어와
external_volume_name컬럼을 기준으로 필터링하는 파이프 연산자(->>) 쿼리를 사용할 수 있습니다. - 참고: 컬럼 식별자(
external_volume_name)는 대소문자를 구분합니다. SHOW ICEBERG TABLES 출력에 나타나는 그대로 컬럼 식별자를 지정하세요.
예를 들어:
SHOW ICEBERG TABLES
->> SELECT *
FROM $1
WHERE "external_volume_name" = 'my_external_volume_1';
- 외부 볼륨을 삭제해도 시스템에서 영구적으로 제거되지는 않습니다. Snowflake는 삭제된 외부 볼륨의 버전을 Time Travel에 보존합니다. UNDROP EXTERNAL VOLUME 명령어로 삭제된 외부 볼륨을 복원할 수 있습니다.
- 삭제된 외부 볼륨이 완전히 제거되면 복구할 수 없으며 다시 생성해야 합니다.
- 외부 볼륨을 삭제한 후 같은 이름으로 외부 볼륨을 생성하면 새 버전의 외부 볼륨이 만들어집니다. 이전 외부 볼륨의 삭제된 버전은 다음 단계로 복원할 수 있습니다: ① 현재 버전의 외부 볼륨 이름 변경, ② UNDROP EXTERNAL VOLUME 명령어로 이전 버전 복원.
IF EXISTS절을 지정하고 대상 객체가 존재하지 않으면, 명령어는 오류를 반환하지 않고 성공적으로 완료됩니다.
예제 (Examples)
다음은 my_external_volume이라는 외부 볼륨을 삭제하는 예제입니다.
DROP EXTERNAL VOLUME my_external_volume;