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>
        }
  ]
Copy

매개 변수

LIKE 'pattern'

오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(%_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.

예를 들어, 다음 패턴은 같은 결과를 반환합니다.

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 기본값: 값 없음(출력에 필터링이 적용되지 않음).

[ IN ... ]

선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.

ACCOUNT

전체 계정의 레코드를 반환합니다.

DATABASE, . DATABASE db_name

현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(db_name)의 레코드를 반환합니다.

db_name 없이 DATABASE 를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.

참고

데이터베이스 컨텍스트에서 IN 절 없이 SHOW 명령을 사용하면 예상보다 적은 결과를 얻을 수 있습니다.

IN 절이 사용되지 않는 경우 같은 이름을 가진 오브젝트는 한 번만 표시됩니다. 예를 들어, schema1t1 테이블, schema2t1 테이블이 있고 두 테이블이 모두 지정한 데이터베이스 컨텍스트의 범위에 있는 경우(즉, 선택한 데이터베이스가 schema1schema2 의 부모인 경우), SHOW TABLES 는 t1 테이블 중 하나만 표시합니다.

SCHEMA, . SCHEMA schema_name

현재 사용 중인 스키마 또는 지정된 스키마(schema_name)의 레코드를 반환합니다.

데이터베이스가 사용 중이거나 정규화된 schema_name (예: db.schema)을 지정하는 경우 SCHEMA 는 선택 사항입니다.

사용 중인 데이터베이스가 없으면 SCHEMA 를 지정해도 출력에 아무런 영향도 주지 않습니다.

:code:`IN …`을 생략하는 경우 명령의 범위는 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.

  • 데이터베이스가 현재 사용 중인 경우 이 명령은 데이터베이스에서 볼 수 있는 권한이 있는 오브젝트를 반환합니다. 이 작업은 :code:`IN DATABASE`를 지정하는 것과 동일한 효과가 있습니다.

  • 현재 사용 중인 데이터베이스가 없는 경우 이 명령은 계정에서 볼 수 있는 권한이 있는 오브젝트를 반환합니다. 이 작업은 :code:`IN ACCOUNT`를 지정하는 것과 동일한 효과가 있습니다.

출력

명령의 출력에는 오브젝트의 속성과 메타데이터를 설명하는 다음 열이 포함됩니다.

설명

created_on

정책이 만들어진 날짜 및 시간입니다.

name

정책의 이름입니다.

database_name

정책이 연결된 데이터베이스의 이름입니다.

schema_name

정책에서 사용하는 스키마의 이름입니다.

kind

저장소 수명 주기 정책의 유형입니다.

owner

정책을 생성한 역할의 이름입니다.

comment

정책을 설명하는 선택적 설명입니다.

owner_role_type

정책 소유자가 정책을 만드는 데 사용한 역할 유형입니다.

options

정책의 동작 방식을 변경하기 위해 정책에 추가된 선택적 매개 변수입니다.

  • archive_for_days: 만료되기 전에 행을 보관할 일수입니다. 이 속성이 정책에 대해 설정되지 않은 경우 값은 NULL입니다.

  • archive_tier: 정책의 저장소 계층으로, COOl 또는 COLD입니다.

액세스 제어 요구 사항

이 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;
Copy

출력:

+----------------------------------------+------------------+---------------------------+-------------------------------+--------------------------+--------------+-------------------+-----------------+---------------------------+
|               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}  |
+----------------------------------------+------------------+---------------------------+-------------------------------+--------------------------+--------------+-------------------+-----------------+---------------------------+