SHOW STORAGE LIFECYCLE POLICIES¶
액세스 권한이 있는 :doc:`저장소 수명 주기 정책</user-guide/storage-management/storage-lifecycle-policies>`을 나열합니다.
이 명령을 사용하여 세션, 지정된 데이터베이스 또는 스키마 또는 전체 계정의 현재 데이터베이스 및 스키마에 있는 오브젝트를 나열할 수 있습니다.
출력에는 각 오브젝트의 메타데이터와 속성이 포함됩니다. 오브젝트는 데이터베이스, 스키마 및 오브젝트 이름을 기준으로 사전순으로 정렬됩니다(출력 열에 대한 설명은 이 항목의 출력 참조). 결과를 필터링하려면 결과의 행 순서에 유의해야 합니다.
- 참고 항목:
CREATE STORAGE LIFECYCLE POLICY , ALTER STORAGE LIFECYCLE POLICY , DESCRIBE STORAGE LIFECYCLE POLICY , DROP STORAGE LIFECYCLE POLICY
구문¶
SHOW STORAGE LIFECYCLE POLICIES
[ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
매개 변수¶
LIKE 'pattern'오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(
%및_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.예를 들어, 다음 패턴은 같은 결과를 반환합니다.
... LIKE '%testing%' ...... LIKE '%TESTING%' .... 기본값: 값 없음(출력에 필터링이 적용되지 않음).
[ IN ... ]선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.
ACCOUNT전체 계정의 레코드를 반환합니다.
DATABASE, .DATABASE db_name현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(
db_name)의 레코드를 반환합니다.db_name없이DATABASE를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.참고
데이터베이스 컨텍스트에서
IN절 없이 SHOW 명령을 사용하면 예상보다 적은 결과를 얻을 수 있습니다.IN절이 사용되지 않는 경우 같은 이름을 가진 오브젝트는 한 번만 표시됩니다. 예를 들어,schema1에t1테이블,schema2에t1테이블이 있고 두 테이블이 모두 지정한 데이터베이스 컨텍스트의 범위에 있는 경우(즉, 선택한 데이터베이스가schema1및schema2의 부모인 경우), SHOW TABLES 는t1테이블 중 하나만 표시합니다.SCHEMA, .SCHEMA schema_name현재 사용 중인 스키마 또는 지정된 스키마(
schema_name)의 레코드를 반환합니다.데이터베이스가 사용 중이거나 정규화된
schema_name(예:db.schema)을 지정하는 경우SCHEMA는 선택 사항입니다.사용 중인 데이터베이스가 없으면
SCHEMA를 지정해도 출력에 아무런 영향도 주지 않습니다.
:code:`IN …`을 생략하는 경우 명령의 범위는 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.
출력¶
명령의 출력에는 오브젝트의 속성과 메타데이터를 설명하는 다음 열이 포함됩니다.
열 |
설명 |
|---|---|
|
정책이 만들어진 날짜 및 시간입니다. |
|
정책의 이름입니다. |
|
정책이 연결된 데이터베이스의 이름입니다. |
|
정책에서 사용하는 스키마의 이름입니다. |
|
저장소 수명 주기 정책의 유형입니다. |
|
정책을 생성한 역할의 이름입니다. |
|
정책을 설명하는 선택적 설명입니다. |
|
정책 소유자가 정책을 만드는 데 사용한 역할 유형입니다. |
|
정책의 동작 방식을 변경하기 위해 정책에 추가된 선택적 매개 변수입니다.
|
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 다음 권한 중 최소한 하나 이상 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
|---|---|---|
APPLY STORAGE LIFECYCLE POLICY |
계정 |
계정의 모든 저장소 수명 주기 정책에 대해 SHOW를 허용합니다. |
APPLY |
저장소 수명 주기 정책 |
정책에 대해 SHOW를 허용합니다. |
OWNERSHIP |
저장소 수명 주기 정책 |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한. 스키마에 대한 특정 권한을 부여받은 역할은 해당 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.
이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.
MANAGE GRANTS 액세스 권한은 그 권한을 보유한 자가 계정에 있는 모든 오브젝트를 볼 수 있도록 암시적으로 허용합니다. 기본적으로, 계정 관리자(ACCOUNTADMIN 역할 이 있는 사용자)와 보안 관리자(SECURITYADMIN 역할이 있는 사용자)만 MANAGE GRANTS 권한을 가집니다.
이 명령의 출력을 후처리하기 위해 파이프 연산자 (
->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.이 명령의 출력 열 이름은 소문자로 생성됩니다. 파이프 연산자 또는 RESULT_SCAN 함수와 함께 이 명령의 결과 세트를 사용하는 경우 쿼리의 열 이름에 큰따옴표로 묶인 식별자 를 사용하여 스캔된 출력의 열 이름과 일치하도록 합니다. 예를 들어, 출력 열의 이름이
type인 경우 식별자에 대해"type"을 지정합니다.
이 명령은 명령을 실행하는 데 사용된 역할에 대한 액세스 권한에 따라 지정된 오브젝트 유형에 대해 최대 1만 개의 레코드를 반환합니다. 필터를 적용하더라도 1만 개 레코드 제한을 초과하는 레코드는 반환되지 않습니다.
10,000개 이상의 레코드가 존재하는 결과를 보려면 Snowflake Information Schema 에서 해당 뷰(있는 경우)를 쿼리하십시오.
스키마 수준 오브젝트에 대해 이 명령을 실행하면 현재 역할에도 상위 데이터베이스와 스키마에 대한 권한이 하나 이상 있는 경우에만 오브젝트가 반환됩니다.
예¶
다음 예제에서는 mydb 데이터베이스의 PUBLIC 스키마에서 볼 수 있는 권한이 있는 저장소 수명 주기 정책을 나열합니다.
USE DATABASE mydb;
SHOW STORAGE LIFECYCLE POLICIES;
출력:
+----------------------------------------+------------------+---------------------------+-------------------------------+--------------------------+--------------+-------------------+-----------------+---------------------------+
| created_on | name | database_name | schema_name | kind | owner | comment | owner_role_type | options |
+----------------------------------------+------------------+---------------------------+-------------------------------+--------------------------+--------------+-------------------+-----------------+---------------------------+
| Fri, 23 Jun 1967 07:00:00.123000 +0000 | MY_POLICY | MYDB | PUBLIC | STORAGE_LIFECYCLE_POLICY | TESTACCOUNT | identity | ROLE | {"ARCHIVE_FOR_DAYS":null} |
| Fri, 23 Jun 1967 07:00:00.123000 +0000 | MY_SECOND_POLICY | MYDB | PUBLIC | STORAGE_LIFECYCLE_POLICY | TESTACCOUNT | identity with UDF | ROLE | {"ARCHIVE_FOR_DAYS":365} |
| Fri, 23 Jun 1967 07:00:00.123000 +0000 | MY_THIRD_POLICY | MYDB | PUBLIC | STORAGE_LIFECYCLE_POLICY | TESTACCOUNT | always true | ROLE | {"ARCHIVE_FOR_DAYS":180} |
+----------------------------------------+------------------+---------------------------+-------------------------------+--------------------------+--------------+-------------------+-----------------+---------------------------+