SHOW SCHEMAS¶
アクセス権限があるスキーマをリストします。これには、Time Travelの保持期間内にあるため削除できないスキーマも含まれます。このコマンドを使用して、現在のデータベースまたは指定されたデータベースのスキーマを一覧表示するか、アカウント全体でスキーマを一覧表示できます。
出力は、データベースとスキーマ名で辞書順に並べられたスキーマメタデータとプロパティを返します。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。
- こちらもご参照ください。
CREATE SCHEMA、 ALTER SCHEMA、 DESCRIBE SCHEMA、 DROP SCHEMA、 UNDROP SCHEMA
SCHEMATA ビュー (情報スキーマ)
構文¶
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_VISIBILITY-
このプロパティは、アカウント内の オブジェクトの発見可能性 を制御します。これにより、明示的なアクセス権限を持たないユーザーでもオブジェクトを検索し、アクセスをリクエストできるようになります。
使用上の注意¶
スコープを
APPLICATIONまたはSNOWFLAKEという名前のデータベースに指定すると、owner列はSNOWFLAKEをLOCALという名前のスキーマの所有者として返します。例:SHOW SCHEMAS IN APPLICATION my_app; SHOW SCHEMAS IN DATABASE SNOWFLAKE;
owner列は次を返します。+-----+-------+-----+-----------+-----+ | ... | name | ... | owner | ... | +-----+-------+-----+-----------+-----+ | ... | LOCAL | ... | SNOWFLAKE | ... | +-----+-------+-----+-----------+-----+
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
LIMIT rowsの値は10000を超えることはできません。LIMIT rowsを省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。1万件を超える記録が存在する結果を表示するには、
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 |
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+-------------------+
