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_on
- name
- kind
- database_name
- schema_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              |
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+