ALTER STORAGE LIFECYCLE POLICY
ALTER STORAGE LIFECYCLE POLICY
기존 스토리지 수명주기 정책(storage lifecycle policy)의 속성을 수정하는 명령이에요. 이 정책은 보관(archive) 또는 만료(expire)할 행을 결정해요.
출처: 문서
본문
주의: 스토리지 수명주기 정책의 변경은 연결된 모든 테이블에 상당한 영향을 줄 수 있어요. ACCOUNT_USAGE 스키마의 QUERY_HISTORY 뷰를 사용해 정책 변경을 정기적으로 감사해요. 자세한 내용은 QUERY_HISTORY 뷰를 참고하세요.
관련 명령: CREATE STORAGE LIFECYCLE POLICY, DESCRIBE STORAGE LIFECYCLE POLICY, DROP STORAGE LIFECYCLE POLICY, SHOW STORAGE LIFECYCLE POLICIES
구문 (Syntax)
ALTER STORAGE LIFECYCLE POLICY [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER STORAGE LIFECYCLE POLICY [ IF EXISTS ] <name> SET
BODY -> <expression_on_arg_name>
| ARCHIVE_TIER = { COOL | COLD }
| ARCHIVE_FOR_DAYS = <number_of_days>
| COMMENT = '<string_literal>'
| TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER STORAGE LIFECYCLE POLICY [ IF EXISTS ] <name> UNSET
ARCHIVE_FOR_DAYS
| COMMENT
| TAG <tag_name> [ , <tag_name> ... ]
매개변수 (Parameters)
name — 수정할 정책의 식별자를 지정해요.
식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요. 자세한 내용은 식별자 요구사항을 참고하세요.
RENAME TO new_name — 정책의 새 식별자를 지정해요. 스키마에서 고유해야 해요. 자세한 내용은 식별자 요구사항을 참고하세요.
객체의 이름을 바꾸면서 다른 데이터베이스 및/또는 스키마로 이동할 수 있어요. 그러려면 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 위치가 포함된 정규화된 new_name 값을 지정해요.
참고
- 대상 데이터베이스 및/또는 스키마는 이미 존재해야 해요. 새 위치에 같은 이름의 객체가 이미 있으면 문이 오류를 반환해요.
- 객체 소유자(즉 객체에 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 관리형 접근 스키마로의 이동은 금지돼요.
객체 이름을 바꾸면, 그 객체를 참조하는 다른 객체도 새 이름으로 업데이트해야 해요.
SET ... — 정책에 설정할 하나 이상의 속성을 지정해요:
BODY -> expression_on_arg_name — 만료할 행을 결정하는 SQL 식이에요.
데이터를 변환하려면 조건부 표현식 함수 또는 사용자 정의 함수(UDF) 같은 기본 제공 함수를 사용할 수 있어요.
참고: 현재 스토리지 수명주기 정책의 본문에서는 SQL과 JavaScript UDF만 지원돼요.
ARCHIVE_TIER = { COOL | COLD } — ARCHIVE_FOR_DAYS가 설정되지 않은 만료 정책을 보관 정책으로 변환할 스토리지 티어를 지정해요.
COOL— 보관 기간(ARCHIVE_FOR_DAYS)을 90일 이상으로 설정해야 해요.COLD— 보관 기간(ARCHIVE_FOR_DAYS)을 180일 이상으로 설정해야 해요.
지원되는 클라우드 프로바이더는 스토리지 수명주기 정책을 참고하세요.
ARCHIVE_FOR_DAYS = number_of_days — 정책 표현식과 일치하는 행을 보관 스토리지에 보관할 일수를 지정해요. 설정되면 Snowflake는 ARCHIVE_TIER에서 선택한 값에 따라 데이터를 보관 스토리지로 이동해요. 설정되지 않으면 Snowflake는 데이터를 보관하지 않고 테이블에서 행을 만료시켜요.
값:
- ARCHIVE_TIER = COOL:
90-2147483647 - ARCHIVE_TIER = COLD:
180-2147483647
기본값: 설정되지 않음
COMMENT = 'string_literal' — 정책의 주석을 추가하거나 기존 주석을 덮어써요.
기본값: 값 없음
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] — 태그 이름과 태그 문자열 값을 지정해요. 태그 값은 항상 문자열이며, 최대 문자 수는 256이에요. 문에서 태그를 지정하는 방법은 태그 할당량을 참고하세요.
UNSET ... — 정책에서 해제할 속성을 지정해 기본값으로 되돌려요:
ARCHIVE_FOR_DAYSCOMMENTTAG tag_name [ , tag_name ... ]
하나의 ALTER 문으로 여러 속성이나 매개변수를 해제하려면 각 속성이나 매개변수를 콤마로 구분해요. 속성이나 매개변수를 해제할 때는 이름만 지정해요(위 구문이 값을 지정하라고 나타내지 않는 한). 값을 지정하면 오류가 반환돼요.
접근 제어 요구사항 (Access control requirements)
이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요: GRANT OWNERSHIP
| 권한 | 객체 | 설명 |
|---|---|---|
| OWNERSHIP | Storage lifecycle policy | OWNERSHIP은 객체를 만든 역할에 자동으로 부여되는 객체의 특별한 권한이에요. 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요. |
스키마의 객체를 조작하려면 상위 데이터베이스와 상위 스키마 각각에 대해 하나 이상의 권한이 필요해요.
지정한 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.
보호 객체에서 SQL 작업을 수행할 때 역할과 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.
사용 메모 (Usage notes)
- 기존 정책을 업데이트하려고 하는데 현재 정의를 확인해야 한다면 GET_DDL 함수를 호출하거나 DESCRIBE STORAGE LIFECYCLE POLICY 명령을 실행해요.
- 이 명령으로 정책 시그니처를 변경할 수 없어요. 시그니처를 변경하려면 DROP STORAGE LIFECYCLE POLICY 명령을 사용한 뒤 새 정책을 만들어요.
- 정책의 ARCHIVE_TIER를 설정한 후에는 변경할 수 없어요. 예를 들어 이 명령으로 정책의 ARCHIVE_TIER를 COOL에서 COLD로 변경할 수 없어요.
- 정책의 ARCHIVE_FOR_DAYS를 해제해도 스토리지 티어는 변경되지 않아요. 나중에 정책에 보관 스토리지를 다시 활성화하면 스토리지 티어를 수정할 수 없어요.
- 정책 본문에 서브쿼리를 하나 이상 포함하면 오류가 발생할 수 있어요. 가능하면 서브쿼리 수, JOIN 작업 수를 줄이고 WHERE 절 조건을 단순화해요.
- 메타데이터 관련: Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 주의해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고하세요.
예시 (Examples)
다음 예시는 스토리지 수명주기 정책을 업데이트해 닫힌 계정을 30일 후에 만료시켜요.
ALTER STORAGE LIFECYCLE POLICY expire_storage_for_closed_accounts
SET BODY ->
event_ts < DATEADD(DAY, -30, CURRENT_TIMESTAMP())
AND EXISTS (
SELECT 1 FROM closed_accounts
WHERE id = account_id
);
더 알아보기 (Learn more)
- CREATE STORAGE LIFECYCLE POLICY — 정책 만들기
- DESCRIBE STORAGE LIFECYCLE POLICY — 정책 설명
- DROP STORAGE LIFECYCLE POLICY — 정책 삭제
- SHOW STORAGE LIFECYCLE POLICIES — 정책 나열