TABLES ビュー¶
このInformation Schemaビューには、 INFORMATION_SCHEMA スキーマ自体のビューを含む、指定された(または現在の)データベース内の各テーブルとビューの行が表示されます。
- こちらもご参照ください:
列¶
列名 |
データ型 |
説明 |
---|---|---|
TABLE_CATALOG |
TEXT |
テーブルが属するデータベース。 |
TABLE_SCHEMA |
TEXT |
テーブルが属するスキーマ。 |
TABLE_NAME |
TEXT |
テーブルの名前。 |
TABLE_OWNER |
TEXT |
テーブルを所有するロールの名前。 |
TABLE_TYPE |
TEXT |
テーブル型を示します。有効な値は、 |
IS_TRANSIENT |
TEXT |
これが一時テーブルかどうかを示します。 |
CLUSTERING_KEY |
TEXT |
テーブルのクラスタリングキー。 |
ROW_COUNT |
NUMBER |
テーブル内の行数。 |
BYTES |
NUMBER |
テーブルのスキャンによってアクセスされたバイト数。 |
RETENTION_TIME |
NUMBER |
Time Travelの履歴データが保持される日数。 |
SELF_REFERENCING_COLUMN_NAME |
TEXT |
Snowflakeには適用されません。 |
REFERENCE_GENERATION |
TEXT |
Snowflakeには適用されません。 |
USER_DEFINED_TYPE_CATALOG |
TEXT |
Snowflakeには適用されません。 |
USER_DEFINED_TYPE_SCHEMA |
TEXT |
Snowflakeには適用されません。 |
USER_DEFINED_TYPE_NAME |
TEXT |
Snowflakeには適用されません。 |
IS_INSERTABLE_INTO |
TEXT |
Snowflakeには適用されません。 |
IS_TYPED |
TEXT |
Snowflakeには適用されません。 |
COMMIT_ACTION |
TEXT |
Snowflakeには適用されません。 |
CREATED |
TIMESTAMP_LTZ |
テーブルの作成時刻。 |
LAST_ALTERED |
TIMESTAMP_LTZ |
オブジェクトが最後に変更された日時。 使用上の注意 をご参照ください。 |
LAST_DDL |
TIMESTAMP_LTZ |
テーブルまたはビューに対して最後に実行された DDL 操作のタイムスタンプ。 サポートされているすべてのテーブル/ビュー DDL 操作は、このフィールドを更新します。
テーブルパラメーターの設定解除(例: COMMENT、 DATA_RETENTION_TIME など)、テーブル例の変更(ADD / MODIFY / RENAME / DROP)など、 ALTER TABLE の操作はすべてこのフィールドを更新します。 詳細については、 使用上の注意 をご参照ください。 |
LAST_DDL_BY |
TEXT |
最後に DDL 操作を実行したユーザーの現在のユーザー名。ユーザーがドロップされた場合は、 ドロップされたユーザーについては、 USERS ビュー で |
AUTO_CLUSTERING_ON |
BOOLEAN |
テーブルに対して自動クラスタリングが有効になっているかどうかを示します。 |
COMMENT |
TEXT |
このテーブルに対するコメント。 |
IS_TEMPORARY |
TEXT |
これが仮テーブルかどうかを示します。有効な値は、 |
IS_ICEBERG |
TEXT |
テーブルが Icebergテーブル かどうかを示します。有効な値は |
使用上の注意¶
ビューには、セッションの現在のロールにアクセス権限が付与されているオブジェクトのみが表示されます。ビューは MANAGE GRANTS 権限を優先しないため、 MANAGE GRANTS 権限を付与されたユーザーが両方を実行する場合は、 SHOW コマンドよりも表示される情報が少なくなる場合があります。
この動作は、対応する SHOW コマンドがある他のアカウントレベルの 権限 およびInformation Schemaビューにも適用されます。
テーブルの合計(バイト)をクエリしても、合計ストレージ使用量は示されません。これは、量にTime TravelとFail-safeの使用量が含まれていないためです。
ビューには、ドロップされたテーブルは含まれません。ドロップされたテーブルを表示するには、代わりに SHOW TABLES を使用します。
クエリ内のテーブルのみを表示するには、WHERE 句を使用してフィルターします。例:
... WHERE table_schema != 'INFORMATION_SCHEMA'
LAST_ALTERED 列は、オブジェクトに対して以下の操作を実行したときに更新されます。
DDL 操作 。
DML 操作(テーブル用のみ)。
Snowflakeが実行するメタデータのバックグラウンド保守作業。
ビューとテーブルの場合、オブジェクトの最終更新時刻には LAST_DDL 列を使用します。
LAST_DDL 列の値は以下のように更新されます。
テーブルやビューが作成されると、 LAST_DDL のタイムスタンプは CREATED のタイムスタンプと同じになります。
テーブルやビューがドロップされると、 LAST_DDL のタイムスタンプは DELETED のタイムスタンプと同じになります。
最後の DDL データは、列が 追加 される前に発生した操作については利用できません。新しい DDL フィールドは、 DDL 操作が実行されるまで
null
を含みます。複製されたデータベースの場合、 LAST_DDL と LAST_DDL_BY フィールドはプライマリデータベース内のオブジェクトに対してのみ更新されます。フェールオーバー後、 LAST_DDL および LAST_DDL_BY フィールドは、新しく昇格したプライマリデータベースのテーブルおよびビューの DDL 操作用に更新されます。これらのフィールドは、セカンダリデータベース内のオブジェクトについては変更されません。
セカンダリデータベース内のオブジェクトで、リフレッシュ操作中に新しく作成されたオブジェクトの場合、これらのフィールドは
null
になります。
例¶
mydatabase
データベース内の全スキーマ内のテーブルすべてのサイズ(バイト単位)を取得します。
SELECT TABLE_SCHEMA,SUM(BYTES) FROM mydatabase.information_schema.tables GROUP BY TABLE_SCHEMA;