SHOW SCHEMAS¶
여전히 Time Travel 보존 기간 내에 있어 삭제 취소할 수 있는 삭제된 스키마를 포함하여, 액세스 권한이 있는 스키마를 나열합니다. 이 명령을 사용해 현재/지정된 데이터베이스 또는 전체 계정에 대한 스키마를 나열할 수 있습니다.
출력은 데이터베이스 및 스키마 이름을 기준으로 사전순으로 정렬된 스키마 메타데이터와 속성을 반환합니다. 제공된 필터를 사용해 결과를 필터링하려는 경우 이 점에 유의해야 합니다.
- 참고 항목:
CREATE SCHEMA , ALTER SCHEMA , DESCRIBE SCHEMA , DROP SCHEMA , UNDROP SCHEMA
SCHEMATA 뷰 (Information Schema)
구문¶
SHOW [ TERSE ] SCHEMAS
[ HISTORY ]
[ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <db_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> } ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
[ WITH PRIVILEGES <object_privilege> [ , <object_privilege> [ , ... ] ] ]
매개 변수¶
TERSE다음 열만 포함하는 출력을 반환합니다.
created_onnamekinddatabase_nameschema_name
kind는 스키마에 적용할 수 없고schema_name이name과 중복되므로kind와schema_name은 항상NULL을 표시합니다.기본값: 값 없음(모든 열이 출력에 포함됨)
HISTORY아직 제거되지 않은 삭제된 스키마를 포함합니다(즉, 여전히 각각의 Time Travel 보존 기간 내에 있음). 삭제된 스키마의 버전이 여러 개 있는 경우 출력에 각 버전에 대한 행이 표시됩니다. 출력에는 다음을 표시하는
dropped_on열도 추가로 포함됩니다.날짜 및 타임스탬프(삭제된 스키마의 경우).
NULL(활성 스키마의 경우).
기본값: 값 없음(삭제된 스키마는 출력에 포함되지 않음)
LIKE 'pattern'오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(
%및_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.예를 들어, 다음 패턴은 같은 결과를 반환합니다.
... LIKE '%testing%' ...... LIKE '%TESTING%' .... 기본값: 값 없음(출력에 필터링이 적용되지 않음).
IN { ACCOUNT | [ DATABASE ] [ db_name ] | APPLICATION application_name | APPLICATION PACKAGE application_package_name }명령의 범위를 지정하여 이 명령이 현재/지정된 데이터베이스의 레코드만 나열할지, 아니면 전체 계정의 레코드를 나열할지 여부를 결정합니다.
APPLICATION및APPLICATION PACKAGE키워드가 필수는 아니지만, 명명된 Snowflake Native App 의 범위를 지정합니다.DATABASE키워드가 필요하지 않습니다. 데이터베이스 이름만 지정하여 범위를 설정할 수 있습니다. 마찬가지로, 세션에 현재 사용 중인 데이터베이스가 있는 경우 데이터베이스 이름이 필요하지 않습니다.기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.
데이터베이스:
DATABASE가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).데이터베이스 없음:
ACCOUNT가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).
STARTS WITH 'name_string'오브젝트 이름의 시작 부분에 나타나는 문자를 기반으로 명령 출력을 선택적으로 필터링합니다. 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.
예를 들어, 다음 문자열은 서로 다른 결과를 반환합니다.
... STARTS WITH 'B' ...... STARTS WITH 'b' .... 기본값: 값 없음(출력에 필터링이 적용되지 않음)
LIMIT rows [ FROM 'name_string' ]반환되는 최대 행 수를 선택적으로 제한하는 동시에, 결과의 “페이지 매김”도 활성화합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.
선택적
FROM 'name_string'하위 절은 사실상 결과에 대한 “커서” 역할을 합니다. 그 덕분에 오브젝트 이름이 지정된 문자열과 일치하는 첫 번째 행 다음에 오는 행을 지정된 개수만큼 가져올 수 있습니다.문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.
부분 이름이 지원되므로, 문자열이 전체 오브젝트 이름을 포함할 필요는 없습니다.
기본값: 값 없음(출력에 제한이 적용되지 않음)
참고
FROM 'name_string'및STARTS WITH 'name_string'절을 모두 지원하는 SHOW 명령의 경우 동일한 문에서 이러한 절을 모두 결합할 수 있습니다. 하지만 두 가지 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 아무런 결과도 반환되지 않습니다.또한, 오브젝트는 이름을 기준으로 사전순으로 반환되므로,
FROM 'name_string'은STARTS WITH 'name_string'에서 반환된 행보다 사전 값이 더 높은 행만 반환합니다.예:
... STARTS WITH 'A' LIMIT ... FROM 'B'는 아무런 결과도 반환하지 않습니다.... STARTS WITH 'B' LIMIT ... FROM 'A'는 아무런 결과도 반환하지 않습니다.... STARTS WITH 'A' LIMIT ... FROM 'AB'는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).
WITH PRIVILEGES object_privilege [ , object_privilege [ , ... ] ]선택적으로, 현재 사용자의 활성 역할 에 오브젝트 목록에 있는 지정된 권한이 전부 부여된 오브젝트로 행을 제한합니다.
CREATE <object> 권한이 권한 목록에 포함된 경우 이 명령을 실행하면 보조 역할에 권한이 부여된 오브젝트가 제외됩니다. 이는 기본 역할에만 오브젝트를 생성할 권한이 있기 때문입니다. 자세한 내용은 기본 역할 및 보조 역할을 통한 승인 섹션을 참조하십시오.
OBJECT_VISIBILITY이 새로운 열은 기존 뷰에 추가되며 향후 사용을 위해 예약됩니다. 자세한 내용은 DATABASES 및 SCHEMATA 뷰, SHOW DATABASES 및 SHOW SCHEMAS 명령: 출력의 새로운 열 섹션을 참조하십시오.
사용법 노트¶
범위를
APPLICATION또는SNOWFLAKE라는 데이터베이스로 지정하면owner열은SNOWFLAKE를LOCAL이라는 스키마의 소유자로 반환합니다. 예:SHOW SCHEMAS IN APPLICATION my_app; SHOW SCHEMAS IN DATABASE SNOWFLAKE;
owner열은 다음을 반환합니다.+-----+-------+-----+-----------+-----+ | ... | name | ... | owner | ... | +-----+-------+-----+-----------+-----+ | ... | LOCAL | ... | SNOWFLAKE | ... | +-----+-------+-----+-----------+-----+
이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.
이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.
MANAGE GRANTS 액세스 권한은 그 권한을 보유한 자가 계정에 있는 모든 오브젝트를 볼 수 있도록 암시적으로 허용합니다. 기본적으로, 계정 관리자(ACCOUNTADMIN 역할 이 있는 사용자)와 보안 관리자(SECURITYADMIN 역할이 있는 사용자)만 MANAGE GRANTS 권한을 가집니다.
이 명령의 출력을 후처리하기 위해 파이프 연산자 (
->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.이 명령의 출력 열 이름은 소문자로 생성됩니다. 파이프 연산자 또는 RESULT_SCAN 함수와 함께 이 명령의 결과 세트를 사용하는 경우 쿼리의 열 이름에 큰따옴표로 묶인 식별자 를 사용하여 스캔된 출력의 열 이름과 일치하도록 합니다. 예를 들어, 출력 열의 이름이
type인 경우 식별자에 대해"type"을 지정합니다.
LIMIT rows의 값은10000을 초과할 수 없습니다.LIMIT rows가 생략된 경우 결과 세트의 행 수가 10,000개를 넘는 경우 이 명령을 실행하면 오류가 발생합니다.10,000개 이상의 레코드가 있는 결과를 보려면
LIMIT rows를 포함하거나 Snowflake Information Schema 에서 해당 뷰를 쿼리하십시오.
HISTORY및WITH PRIVILEGES매개 변수는 상호 배타적이므로, 같은 문에서 둘 다 사용할 수는 없습니다.
예¶
현재 데이터베이스 mytestdb 에서 볼 권한이 있는 스키마를 전부 표시합니다.
SHOW SCHEMAS;
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+-------------------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | owner_role_type | OBJECT_VISIBILITY |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+-------------------+
| Fri, 13 May 2016 17:58:37 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | ROLE | NULL |
| Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | ROLE | NULL |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+-------------------+
삭제된 스키마를 포함하여 현재 데이터베이스 mytestdb 에서 볼 권한이 있는 스키마를 전부 표시합니다(이 예는 DROP SCHEMA 예를 기반으로 함).
SHOW SCHEMAS HISTORY;
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+-------------------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | dropped_on | owner_role_type | OBJECT_VISIBILITY |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+-------------------+
| Fri, 13 May 2016 17:59:50 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | NULL | | NULL |
| Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | NULL | ROLE | NULL |
| Tue, 17 Mar 2015 16:42:29 -0700 | MYSCHEMA | N | N | MYTESTDB | PUBLIC | | | 1 | Fri, 13 May 2016 17:25:32 -0700 | ROLE | NULL |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+-------------------+
현재 데이터베이스에서 자신에게 USAGE 권한이 부여된 모든 스키마를 표시합니다.
SHOW SCHEMAS WITH PRIVILEGES USAGE;
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | owner_role_type | OBJECT_VISIBILITY |
|-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+
| 2023-01-27 15:01:12.940 -0800 | PUBLIC | N | N | BOOKS_DB | DATA_ADMIN | | | 1 | ROLE | NULL |
| 2023-09-15 15:22:51.164 -0700 | PUBLIC | N | N | TEST_DB | ACCOUNTADMIN | | | 4 | ROLE | NULL |
| 2023-01-13 10:58:49.584 -0800 | ACCOUNT_USAGE | N | N | SNOWFLAKE | | | | 1 | | NULL |
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+