SCHEMATA ビュー
INFORMATION_SCHEMA.SCHEMATA ビューには、プロジェクトまたはリージョン内のデータセットに関する情報が表示されます。データセットごとに 1 行が返されます。
始める前に
データセットのメタデータについて SCHEMATA ビューにクエリを実行するには、プロジェクト レベルで bigquery.datasets.get Identity and Access Management(IAM)権限が必要です。
以下の IAM 事前定義ロールのそれぞれに、SCHEMATA ビューの取得に必要な権限が含まれています。
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewer
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.SCHEMATA ビューにクエリを実行すると、クエリ結果として、指定したプロジェクト内の各データセットに対して 1 行が表示されます。
INFORMATION_SCHEMA.SCHEMATA ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
catalog_name | 
      STRING | 
      データセットを含むプロジェクトの名前 | 
schema_name | 
      STRING | 
      データセットの名前(datasetId ともいいます) | 
    
schema_owner | 
      STRING | 
      値は常に NULL | 
    
creation_time | 
      TIMESTAMP | 
      データセットの作成日時 | 
last_modified_time | 
      TIMESTAMP | 
      データセットの最終更新日時 | 
location | 
      STRING | 
      データセットの地理的なロケーション | 
ddl | 
      STRING | 
      データセットの作成に使用できる CREATE SCHEMA DDL ステートメント | 
    
default_collation_name | 
      STRING | 
      
        デフォルトの照合順序仕様が存在する場合はその名前。それ以外の場合は NULL。 | 
    
sync_status | 
      JSON | 
      クロスリージョン レプリケーションと障害復旧のデータセットのプライマリ レプリカとセカンダリ レプリカ間の同期のステータス。レプリカがプライマリ レプリカであるか、データセットがレプリケーションを使用していない場合は NULL を返します。 | 
    
スコープと構文
このビューに対するクエリでは、リージョン修飾子を指定する必要があります。リージョン修飾子を指定しない場合、メタデータは米国リージョンから取得されます。次の表に、このビューのリージョン スコープを示します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA | 
  プロジェクト レベル | 米国リージョン | 
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA | 
  プロジェクト レベル | REGION | 
  
- 
  省略可: 
PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。 - 
  
REGION: 任意のデータセット リージョン名。例:`region-us` 
例
-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
例
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、次の形式でプロジェクト ID をデータセットに追加します。
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA
`myproject`.INFORMATION_SCHEMA.SCHEMATA
SELECT * EXCEPT (schema_owner) FROM INFORMATION_SCHEMA.SCHEMATA;
次のような結果になります。読みやすくするため、一部の列は結果から除外されています。
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | catalog_name | schema_name | creation_time | last_modified_time | location | ddl | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | myproject | mydataset1 | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US | CREATE SCHEMA `myproject.mydataset1` | | | | | | | OPTIONS( | | | | | | | location="us" | | | | | | | ); | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | myproject | mydataset2 | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US | CREATE SCHEMA `myproject.mydataset2` | | | | | | | OPTIONS( | | | | | | | default_partition_expiration_days=3.0, | | | | | | | location="us" | | | | | | | ); | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | myproject | mydataset3 | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | US | CREATE SCHEMA `myproject.mydataset3` | | | | | | | OPTIONS( | | | | | | | description="My dataset", | | | | | | | location="us" | | | | | | | ); | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+