情報スキーマはすべての Spanner データベースに共通する組み込みスキーマです。データベースのスキーマ メタデータをフェッチするために INFORMATION_SCHEMA にあるテーブルで SQL クエリを実行できます。
たとえば、以下のクエリはデータベース内のすべてのユーザー定義テーブルの名前をフェッチします。
  SELECT
    table_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'
きめ細かいアクセス制御を使用している場合、一部の INFORMATION_SCHEMA テーブルでは、データベース ロールに応じてフィルタされた結果が表示されます。詳細については、きめ細かいアクセス制御についてをご覧ください。
使用方法
INFORMATION_SCHEMA テーブルは SQL インターフェースを介してのみ利用できます。例:
executeQueryAPIgcloud spanner databases execute-sqlコマンド- Google Cloud コンソールのデータベースの [Spanner Studio] ページ。
 
他の単一読み取りメソッドは、INFORMATION_SCHEMA をサポートしていません。
INFORMATION_SCHEMA の使用に関するその他の注意事項:
INFORMATION_SCHEMAに対するクエリは読み取り専用トランザクションでは使用できますが、読み取り / 書き込みトランザクションでは使用できません。INFORMATION_SCHEMAに対するクエリでは、タイムスタンプ バウンド(強力、バウンド ステイルネス、正確なステイルネスの 3 種類)を使用できます。- PostgreSQL 言語データベースを使用している場合は、PostgreSQL 言語データベースの情報スキーマをご覧ください。
 - きめ細かいアクセス制御を使用している場合は、
INFORMATION_SCHEMAテーブルがフィルタされ、アクセス権のあるスキーマ要素のみが表示されます。 
information_schema テーブルでの行フィルタリング
データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロール(またはそのロールのメンバー)へのアクセス権が付与されているプリンシパルは、すべての information_schema テーブルのすべての行を表示できます。他のプリンシパルの場合、一部のテーブルでは、現在のデータベース ロールに基づいて行がフィルタされます。次の各セクションのテーブルとビューの説明では、各テーブルとビューに行フィルタがどのように適用されるかを示します。
INFORMATION_SCHEMA のテーブル
以下の各セクションでは、GoogleSQL 言語データベースの INFORMATION_SCHEMA のテーブルについて説明します。
SCHEMATA
INFORMATION_SCHEMA.SCHEMATA テーブルには、データベース内のスキーマが含まれます。これらのスキーマには、情報スキーマや、定義するテーブルを含む名前付きスキーマが含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
CATALOG_NAME | 
    STRING | 
    カタログ名。この列は、SQL 標準情報スキーマ テーブルと互換性を持ちます。この列は常に空の文字列となります。 | 
SCHEMA_NAME | 
    STRING | 
    スキーマ名。これは、名前付きスキーマの名前です。デフォルト スキーマの場合は `` になります。 | 
PROTO_BUNDLE | 
    STRING | 
    データベースに proto バンドル ステートメントが含まれている場合、この列にはスキーマで使用されている proto バンドルに関する情報が示されます。データベースに proto バンドルが存在しない場合、この列は NULL になります。 | 
DATABASE_OPTIONS
このテーブルには、データベースに設定されているオプションが含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
CATALOG_NAME | 
    STRING | 
    カタログ名。常に空の文字列。 | 
SCHEMA_NAME | 
    STRING | 
    スキーマ名。名前がない場合は空の文字列。 | 
OPTION_NAME | 
    STRING | 
    データベース オプションの名前。 | 
OPTION_TYPE | 
    STRING | 
    データベース オプションのデータ型。 | 
OPTION_VALUE | 
    STRING | 
    データベース オプションの値。 | 
PLACEMENTS
このテーブルには、データベース内のプレースメントが示されます。
| 列名 | 型 | 説明 | 
|---|---|---|
PLACEMENT_NAME | 
    STRING | 
    プレースメントの名前。 | 
IS_DEFAULT | 
    BOOL | 
    プレースメントがデフォルト プレースメントかどうかを示すブール値。 | 
PLACEMENT_OPTIONS
このテーブルには、プレースメントごとに、CREATE PLACEMENT ステートメントの OPTIONS 句でプレースメントに設定されているオプションが含まれます。
OPTION_NAME の有効な値は次のとおりです。
instance_partitiondefault_leader
| 列名 | 型 | 説明 | 
|---|---|---|
PLACEMENT_NAME | 
    STRING | 
    プレースメントの名前。 | 
OPTION_NAME | 
    STRING | 
    プレースメント オプションの名前。 | 
OPTION_TYPE | 
    STRING | 
    プレースメント オプションのデータ型。どちらのオプションでも、これは STRING(MAX) です。 | 
 
OPTION_VALUE | 
    STRING | 
    プレースメント オプションの値。instance_partition の場合、これはインスタンス パーティションの名前です。default_leader の場合、これはデフォルトのリーダー リージョンの名前です。 | 
 
LOCALITY_GROUP_OPTIONS
このテーブルには、ローカリティ グループごとに、CREATE LOCALITY GROUP ステートメントの OPTIONS 句でローカリティ グループに設定されている名前とオプションが含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
LOCALITY_GROUP_NAME | 
    STRING | 
    ローカリティ グループの名前。 | 
OPTION_NAME | 
    STRING | 
    ローカリティ グループ オプションの名前。有効なオプションは次のとおりです。
  | 
 
OPTION_VALUE | 
    STRING | 
    ローカリティ グループ オプションの値。STORAGE の場合は、ssd または hdd。SSD_TO_HDD_SPILL_TIMESPAN の場合、これはデータが HDD ストレージに移動される前に SSD に保存される必要のある時間です。たとえば、10d は 10 日間です。設定できる最小時間は 1 時間です。 | 
 
TABLES
この行でフィルタリングされたテーブルには、データベース内のテーブルとビューが含まれます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすテーブルのみを表示できます。
- 
    
SELECT、INSERT、UPDATE、またはDELETEのきめ細かいアクセス制御の権限は、現在のデータベース ロールがメンバーであるロール、またはpublicに対するテーブルに付与されます。 SELECT、INSERT、UPDATEのいずれかの権限が、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対するテーブルの任意の列に付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    テーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    テーブル、ビュー、または類義語の名前。 | 
TABLE_TYPE | 
    STRING | 
    テーブルの種類。テーブルの場合、値は BASE TABLE になります。ビューの場合は VIEW、類義語の場合は SYNONYM になります。 | 
 
PARENT_TABLE_NAME | 
    STRING | 
    このテーブルがインターリーブされた場合は親テーブルの名前、それ以外の場合は NULL。 | 
 
ON_DELETE_ACTION | 
    STRING | 
    インターリーブされたテーブルの場合は CASCADE または NO ACTION、それ以外の場合は NULL に設定されます。詳細は TABLE ステートメントをご覧ください。 | 
 
SPANNER_STATE | 
    STRING | 
   大量のオペレーションが含まれる場合、テーブルの作成中に複数の状態に遷移します。たとえば、インデックスのバックフィルを必要とする外部キーでテーブルが作成された場合です。次のような状態があります。
  | 
 
INTERLEAVE_TYPE | 
    STRING | 
   このテーブルとインターリーブされたテーブルの間に親子関係があるかどうかを示す式テキスト。次の値があります。
  | 
 
ROW_DELETION_POLICY_EXPRESSION | 
    STRING | 
   テーブルの行削除ポリシーを定義する式テキスト。たとえば、OLDER_THAN(CreatedAt, INTERVAL 1 DAY) や OLDER_THAN(ExpiredDate, INTERVAL 0 DAY) です。 | 
 
COLUMNS
この行でフィルタリングされたテーブルには、テーブル内の列が含まれます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たす列のみを表示できます。
SELECT、INSERTまたはUPDATEのいずれかのきめ細かなアクセス制御の特権は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列で直接付与されます。SELECT、INSERTまたはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列を含むテーブルに付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    列のテーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    テーブルの名前。 | 
COLUMN_NAME | 
    STRING | 
    列の名前。 | 
ORDINAL_POSITION | 
    INT64 | 
    値 1 で始まるテーブルの列の順序位置。 | 
COLUMN_DEFAULT | 
    STRING | 
    
       
        列のデフォルト値の SQL 式の文字列表現。列にデフォルト値がない場合は  
        注: 2022 年 3 月以前は、  | 
 
DATA_TYPE | 
    STRING | 
    SQL 標準を満たすために含まれています。常に NULL。列 SPANNER_TYPE を確認します。 | 
 
IS_NULLABLE | 
    STRING | 
    列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール型ではなく、YES か NO になります。 | 
 
SPANNER_TYPE | 
    STRING | 
    列のデータ型。 | 
IS_GENERATED | 
    STRING | 
    列が生成されているかどうかを示す文字列。生成された列の場合、文字列は ALWAYS になります。生成されていない列の場合は NEVER になります。 | 
 
GENERATION_EXPRESSION | 
    STRING | 
     生成された列の SQL 式を表す文字列。列が生成された列でない場合は NULL になります。 | 
 
IS_STORED | 
    STRING | 
     生成された列が格納されているかどうかを示す文字列。生成された列の場合、文字列は常に YES です。生成されていない列の場合は NULL になります。 | 
 
IS_HIDDEN | 
    STRING | 
     SELECT * クエリに列が含まれていない場合は TRUE に設定され、含まれている場合は FALSE に設定される文字列。列が非表示になっている場合は、名前(SELECT Id, Name, ColHidden FROM TableWithHiddenColumn など)を使用して列を選択できます。 | 
 
SPANNER_STATE | 
    STRING | 
    列の現在の状態。新しく保存された生成列が既存のテーブルに追加されると、完全に使用可能になるまでに、ユーザーがモニタリング可能な複数の状態を遷移する場合があります。次の値があります。
  | 
 
IS_IDENTITY | 
    STRING | 
     生成された列が ID 列の場合は YES、それ以外の場合は NO に設定される文字列。 | 
 
IDENTITY_GENERATION | 
    STRING | 
     列に、ユーザーが挿入したカスタム値ではなく、生成された値のみを許可するかどうかを指定する文字列。
  | 
 
IDENTITY_KIND | 
    STRING | 
     常に BIT_REVERSED_POSITITVE_SEQUENCE。ビット反転された正のシーケンスのみがサポートされます。 | 
 
IDENTITY_START_WITH_COUNTER | 
    STRING | 
    変換前の内部カウンタの開始値。たとえば、ビット反転前の開始値などです。 | 
IDENTITY_SKIP_RANGE_MIN | 
    STRING | 
    変換後のスキップされた範囲の最小値。 | 
IDENTITY_SKIP_RANGE_MAX | 
    STRING | 
    変換後のスキップされた範囲の最大値。 | 
COLUMN_PRIVILEGES
この行でフィルタされたテーブルには、public を含む任意のデータベース ロールに列レベルで付与されているすべての権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たす列の権限のみを表示できます。
SELECT、INSERTまたはUPDATEのいずれかのきめ細かなアクセス制御の特権は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列で直接付与されます。SELECT、INSERTまたはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列を含むテーブルに付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    列のテーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    特権列を含むテーブルの名前。 | 
COLUMN_NAME | 
    STRING | 
    特権列の名前。 | 
PRIVILEGE_TYPE | 
    STRING | 
    SELECT、INSERT、UPDATE | 
 
GRANTEE | 
    STRING | 
    この権限が付与されているデータベース ロールの名前。 | 
TABLE_PRIVILEGES
この行でフィルタされたテーブルには、public を含むデータベース ロールにテーブルレベルで付与されたすべての権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、または public に SELECT、INSERT、UPDATE、DELETE のいずれかのきめ細かいアクセス制御の権限が付与されているテーブルのみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    テーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    きめ細かいアクセス制御の権限が付与されているテーブルの名前。 | 
PRIVILEGE_TYPE | 
    STRING | 
    SELECT、INSERT、UPDATE、DELETE のいずれかになります。 | 
 
GRANTEE | 
    STRING | 
    この権限が付与されているデータベース ロールの名前。 | 
TABLE_CONSTRAINTS
このテーブルでは、各行がデータベース内のテーブルに定義された制約を表します。
| 列名 | 型 | 説明 | 
|---|---|---|
CONSTRAINT_CATALOG | 
    STRING | 
    常に空の文字列。 | 
CONSTRAINT_SCHEMA | 
    STRING | 
    制約のスキーマ名。名前がない場合は空の文字列。 | 
CONSTRAINT_NAME | 
    STRING | 
    制約の名前。 | 
TABLE_CATALOG | 
    STRING | 
    制約付きテーブルのカタログの名前。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    制約付きテーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    制約付きテーブルの名前。 | 
CONSTRAINT_TYPE | 
    STRING | 
    制約の種類。次の値があります。
  | 
 
IS_DEFERRABLE | 
    STRING | 
    常に NO。 | 
 
INITIALLY_DEFERRED | 
    STRING | 
    常に NO。 | 
 
ENFORCED | 
    STRING | 
    制約が情報(NOT ENFORCED)外部キーの場合は NO。適用される外部キーまたはその他の制約タイプの場合は YES。 | 
 
CONSTRAINT_TABLE_USAGE
このテーブルには、制約を定義するテーブル、または制約によって使用されるテーブルが示されます。PRIMARY KEY と UNIQUE の制約を定義するテーブルが含まれます。FOREIGN KEY 定義の参照先テーブルも含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    制約付きテーブルのカタログの名前。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    制約付きテーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    制約付きテーブルの名前。 | 
CONSTRAINT_CATALOG | 
    STRING | 
    制約のカタログの名前。常に空の文字列。 | 
CONSTRAINT_SCHEMA | 
    STRING | 
    制約のスキーマ名。名前がない場合は空の文字列。 | 
CONSTRAINT_NAME | 
    STRING | 
    制約の名前。 | 
REFERENTIAL_CONSTRAINTS
このテーブルには、FOREIGN KEY 制約ごとに 1 つの行が含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
CONSTRAINT_CATALOG | 
    STRING | 
    FOREIGN KEY のカタログの名前。常に空の文字列。 | 
CONSTRAINT_SCHEMA | 
    STRING | 
    FOREIGN KEY のスキーマ名。名前がない場合は空の文字列。 | 
CONSTRAINT_NAME | 
    STRING | 
    FOREIGN KEY の名前。 | 
UNIQUE_CONSTRAINT_CATALOG | 
    STRING | 
    FOREIGN KEY が参照する PRIMARY KEY または UNIQUE 制約のカタログ名。常に空の文字列。 | 
UNIQUE_CONSTRAINT_SCHEMA | 
    STRING | 
    FOREIGN KEY が参照する PRIMARY KEY または UNIQUE 制約のスキーマ名。名前がない場合は空の文字列。 | 
UNIQUE_CONSTRAINT_NAME | 
    STRING | 
    FOREIGN KEY が参照する PRIMARY KEY または UNIQUE 制約の名前。 | 
MATCH_OPTION | 
    STRING | 
    常に SIMPLE。 | 
 
UPDATE_RULE | 
    STRING | 
    常に NO ACTION。 | 
 
DELETE_RULE | 
    STRING | 
    CASCADE または NO ACTION のいずれか。 | 
 
SPANNER_STATE | 
    STRING | 
   外部キーの現在の状態。Spanner は、外部キーのバックアップ インデックスが作成されてバックフィルされるまで、制約の適用を開始しません。インデックスの準備ができると、Spanner は既存のデータの検証中に新しいトランザクションの制約の適用を開始します。可能な値と状態は以下のとおりです。
  | 
 
CHECK_CONSTRAINTS
information_schema.CHECK_CONSTRAINTS テーブルには、CHECK または NOT NULL キーワードのいずれかによって定義された各 CHECK 制約に関する行が 1 つ含まれています。
| 列名 | 型 | 説明 | 
|---|---|---|
CONSTRAINT_CATALOG | 
    STRING | 
    制約のカタログの名前。この列は null にできませんが、常に空の文字列となります。 | 
CONSTRAINT_SCHEMA | 
    STRING | 
    制約のスキーマ名。名前がない場合は空の文字列。 | 
CONSTRAINT_NAME | 
    STRING | 
    制約の名前。この列は null にできません。スキーマ定義で明示的に指定されていない場合、システム定義の名前が割り当てられます。 | 
CHECK_CLAUSE | 
    STRING | 
    CHECK 制約の式。この列は null にできません。 | 
  
SPANNER_STATE | 
    STRING | 
    CHECK 制約の現在の状態。この列は null にできません。可能な状態は次のとおりです。
  | 
  
KEY_COLUMN_USAGE
このテーブルには、PRIMARY KEY、FOREIGN
KEY、または UNIQUE の制約によってキーとして制約される TABLE_CONSTRAINTS のテーブルの列ごとに 1 行が含まれます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次の条件を満たす列のみを表示できます。
SELECT、INSERTまたはUPDATEのいずれかのきめ細かなアクセス制御の特権は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列で直接付与されます。SELECT、INSERTまたはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列を含むテーブルに付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
CONSTRAINT_CATALOG | 
    STRING | 
    制約のカタログの名前。常に空の文字列。 | 
CONSTRAINT_SCHEMA | 
    STRING | 
    制約のスキーマ名。この列は null にできません。名前がない場合は空の文字列。 | 
CONSTRAINT_NAME | 
    STRING | 
    制約の名前。 | 
TABLE_CATALOG | 
    STRING | 
    制約付きの列のカタログの名前。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    制約付きの列のテーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    制約付きの列のテーブルの名前。 | 
COLUMN_NAME | 
    STRING | 
    列の名前。 | 
ORDINAL_POSITION | 
    INT64 | 
    制約のキー内の列の順序位置(1 から始まります)。 | 
 
POSITION_IN_UNIQUE_CONSTRAINT | 
    INT64 | 
    FOREIGN KEY の場合、一意の制約内での列の位置(1 値から始まります)。他の制約タイプの場合、この列は null です。 | 
 
CONSTRAINT_COLUMN_USAGE
このテーブルには、制約で使用される列ごとに 1 つの行が含まれます。PRIMARY KEY 列と UNIQUE 列の他に、FOREIGN KEY 制約の参照先の列などがあります。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    列テーブルのカタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    列のテーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    列のテーブル名。 | 
COLUMN_NAME | 
    STRING | 
    制約によって使用される列の名前。 | 
CONSTRAINT_CATALOG | 
    STRING | 
    制約のカタログの名前。常に空の文字列。 | 
CONSTRAINT_SCHEMA | 
    STRING | 
    制約のスキーマ名。名前がない場合は空の文字列。 | 
CONSTRAINT_NAME | 
    STRING | 
    制約の名前。 | 
TABLE_SYNONYMS
このテーブルには、テーブルの類義語情報が含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    テーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    テーブルの名前。 | 
SYNONYM_CATALOG | 
    STRING | 
    類義語のカタログ名。 | 
SYNONYM_SCHEMA | 
    STRING | 
    類義語のスキーマの名前。 | 
SYNONYM_TABLE_NAME | 
    STRING | 
    類義語のテーブルの名前。 | 
INDEXES
この行でフィルタリングされたテーブルには、データベース内のインデックスが含まれます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすインデックスのみを表示できます。
SELECT、INSERT、またはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対するインデックスのすべての列に列レベルで付与されます。SELECT、INSERT、UPDATEまたはDELETEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対するインデックスを持つテーブルに付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    インデックス テーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    テーブルの名前。 | 
INDEX_NAME | 
    STRING | 
    インデックスの名前。PRIMARY KEY 仕様のテーブルには名前 PRIMARY_KEY で生成される疑似インデックス エントリがあり、これにより、主キーのフィールドを決定できます。 | 
 
INDEX_TYPE | 
    STRING | 
    インデックスの種類。INDEX か PRIMARY_KEY。 | 
 
PARENT_TABLE_NAME | 
    STRING | 
    セカンダリ インデックスは、セカンダリ インデックスの作成に記載されているように、親テーブルにインターリーブされます。この列には、親テーブルの名前が保持されますが、インデックスがインターリーブされない場合は空の文字列になります。 | 
IS_UNIQUE | 
    BOOL | 
    インデックス キーが固有のものでなければならないかどうかを示します。 | 
IS_NULL_FILTERED | 
    BOOL | 
    インデックスに NULL 値のエントリが含まれるかどうかを示します。 | 
 
INDEX_STATE | 
    STRING | 
    インデックスの現在の状態。可能な値と状態は以下のとおりです。
  | 
 
SPANNER_IS_MANAGED | 
    BOOL | 
    インデックスが Spanner によって管理されている場合は TRUE、それ以外の場合は FALSE。外部キーの 2 番目のバックアップ インデックスは、Spanner によって管理されます。 | 
 
INDEX_COLUMNS
この行でフィルタリングされたテーブルには、インデックス内の列が含まれます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすインデックスのみを表示できます。
SELECT、INSERT、またはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対するインデックスのすべての列に列レベルで付与されます。SELECT、INSERT、またはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対するインデックスを持つテーブルに付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    インデックス テーブルのスキーマ名。デフォルトのスキーマの場合、この名前は空になります。他のスキーマの場合は値が含まれます。この列には常に値が含まれます。 | 
TABLE_NAME | 
    STRING | 
    テーブルの名前。 | 
INDEX_NAME | 
    STRING | 
    インデックスの名前。 | 
COLUMN_NAME | 
    STRING | 
    列の名前。 | 
ORDINAL_POSITION | 
    INT64 | 
 値 1 で始まるインデックス(または主キー)の列の順序位置。キーのない列の場合、この値は NULL となります(たとえば、インデックスの STORING 句で指定された列など)。 | 
 
COLUMN_ORDERING | 
    STRING | 
     列の順序。キー列の場合、この値は ASC または DESC となります。キーのない列の場合は NULL となります(たとえば、インデックスの STORING 句で指定された列など)。 | 
 
IS_NULLABLE | 
    STRING | 
    列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール型ではなく、YES か NO になります。 | 
 
SPANNER_TYPE | 
    STRING | 
    列のデータ型。 | 
COLUMN_OPTIONS
この行でフィルタリングされたテーブルには、テーブル内の列のオプションが示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たす列のオプションのみを表示できます。
SELECT、INSERTまたはUPDATEのいずれかのきめ細かなアクセス制御の特権は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列で直接付与されます。SELECT、INSERTまたはUPDATEのいずれかのきめ細かいアクセス制御の権限は、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、またはpublicに対する列を含むテーブルに付与されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    スキーマ名。デフォルトのスキーマでは、この名前は空になります。他のスキーマでは空になりません(たとえば、INFORMATION_SCHEMA 自体)。この列は null にできません。 | 
  
TABLE_NAME | 
    STRING | 
    テーブルの名前。 | 
COLUMN_NAME | 
    STRING | 
    列の名前。 | 
OPTION_NAME | 
    STRING | 
    オプションを一意に識別する SQL 識別子。この識別子は、DDL の OPTIONS 句のキーです。 | 
  
OPTION_TYPE | 
    STRING | 
    このオプション値の型であるデータ型の名前。 | 
OPTION_VALUE | 
    STRING | 
    このオプションの値を表す SQL リテラル。この列の値は、クエリの一部として解析可能でなければなりません。値の解析結果の式は OPTION_TYPE にキャストできる必要があります。この列は null にできません。 | 
  
SEQUENCES
このテーブルには、シーケンスのメタデータが含まれます。きめ細かいアクセス権限を持つユーザーがクエリすると、SEQUENCES はきめ細かいアクセス権限に基づいて行でフィルタされます。
| 列名 | 型 | 説明 | 
|---|---|---|
CATALOG | 
    STRING | 
    シーケンスを含むカタログの名前。 | 
SCHEMA | 
    STRING | 
    シーケンスを含むスキーマの名前。 | 
NAME | 
    STRING | 
    シーケンスの名前。 | 
DATA_TYPE | 
    STRING | 
    シーケンス値の型。INT64 データ型を使用します。 | 
  
SEQUENCE_OPTIONS
このテーブルには、シーケンスの構成オプションが含まれます。きめ細かいアクセス権限を持つユーザーがクエリすると、SEQUENCE_OPTIONS はきめ細かいアクセス権限に基づいて行でフィルタされます。
| 列名 | 型 | 説明 | 
|---|---|---|
CATALOG | 
    STRING | 
    シーケンスを含むカタログの名前。 | 
SCHEMA | 
    STRING | 
    シーケンスを含むスキーマの名前。 | 
NAME | 
    STRING | 
    シーケンスの名前。 | 
OPTION_NAME | 
    STRING | 
    シーケンス オプションの名前。 | 
OPTION_TYPE | 
    STRING | 
    このオプション値の型であるデータ型の名前。 | 
OPTION_VALUE | 
    STRING | 
    シーケンス オプションの値。値の解析結果の式は、OPTION_TYPE へのキャストを許可する必要があります。 | 
  
SPANNER_STATISTICS
このテーブルには、使用可能なクエリ オプティマイザーの統計情報パッケージが含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
CATALOG_NAME | 
    STRING | 
    カタログ名。常に空の文字列。 | 
SCHEMA_NAME | 
    STRING | 
    スキーマ名。デフォルトのスキーマでは、この名前は空になります。他のスキーマでは空になりません(たとえば、INFORMATION_SCHEMA 自体)。この列は null にできません。 | 
  
PACKAGE_NAME | 
    STRING | 
    統計情報パッケージの名前。 | 
ALLOW_GC | 
    BOOL | 
    統計情報パッケージがガベージ コレクションから除外されている場合は FALSE、それ以外の場合は TRUE。ヒントまたはクライアント API で統計情報パッケージを参照するには、この属性を FALSE に設定する必要があります。 | 
  
VIEWS
この行でフィルタリングされたテーブルには、データベース内のビューが含まれます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーとなっているロール、または public に SELECT のきめ細かいアクセス制御の権限が付与されているビューのみが表示されます。
| 列名 | 型 | 説明 | 
|---|---|---|
TABLE_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    スキーマ名。名前がない場合は空の文字列。 | 
TABLE_NAME | 
    STRING | 
    ビュー名。 | 
VIEW_DEFINITION | 
    STRING | 
    ビューを定義するクエリの SQL テキスト。 | 
SECURITY_TYPE | 
    STRING | 
    ビューのセキュリティ タイプ。INVOKER または DEFINER のいずれか。詳細については、ビューについてをご覧ください。  | 
  
ROLES
この行でフィルタされたテーブルには、システムロールを含むきめ細かいアクセス制御用に定義されたデータベース ロールが示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールへのアクセス権が付与されているプリンシパル、またはそのロールのメンバーは、すべてのデータベース ロールを表示できます。他のすべてのプリンシパルは、直接または継承によってアクセス権が付与されているデータベース ロールのみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
ROLE_NAME | 
    STRING | 
    データベース ロールの名前。 | 
IS_SYSTEM | 
    BOOL | 
    データベース ロールがシステムロールの場合は TRUE、それ以外の場合は FALSE。 | 
 
ROLE_GRANTEES
この行でフィルタされたテーブルには、すべてのデータベース ロールに明示的に付与されているすべてのロールのメンバーシップが示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロールまたは現在のデータベース ロールがメンバーであるロールに付与されているロール メンバーシップのみを表示できます。
すべてのデータベース ロールがパブリック ロールのメンバーであるため、パブリック ロールへの暗黙的なメンバーシップのレコードが結果から除外されます。
| 列名 | 型 | 説明 | 
|---|---|---|
ROLE_NAME | 
    STRING | 
    このメンバーシップが付与されているデータベース ロールの名前。 | 
GRANTEE | 
    STRING | 
    このメンバーシップが付与されるデータベース ロールの名前。 | 
CHANGE_STREAMS
この行でフィルタされたテーブルでは、データベースの変更ストリームをすべて列挙し、データベース全体で追跡する特定のテーブルまたは列を示します。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーとなっているロール、または public に SELECT のきめ細かいアクセス制御の権限が付与されている変更ストリームのみを見ることができます。
| 列名 | 型 | 説明 | 
|---|---|---|
CHANGE_STREAM_CATALOG | 
    STRING | 
    変更ストリームのカタログ名。常に空の文字列。 | 
CHANGE_STREAM_SCHEMA | 
    STRING | 
    この変更ストリームのスキーマ名。常に空の文字列。 | 
CHANGE_STREAM_NAME | 
    STRING | 
    変更ストリームの名前。 | 
ALL | 
    BOOL | 
    この変更ストリームがデータベース全体を追跡する場合は、TRUE。この変更ストリームで特定のテーブルまたは列を追跡する場合は、FALSE。 | 
 
CHANGE_STREAM_TABLES
この行でフィルタリングされたテーブルには、テーブルとそれらをモニタリングする変更ストリームに関する情報が含まれています。各行は、1 つのテーブルと 1 つの変更ストリームを表します。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーとなっているロール、または public に SELECT 権限が付与されている変更ストリームの行のみを表示できます。
CHANGE_STREAM_TABLES のデータには、データベース全体を追跡するテーブルと変更ストリーム間の暗黙的な関係は含まれません。
| 列名 | 型 | 説明 | 
|---|---|---|
CHANGE_STREAM_CATALOG | 
    STRING | 
    変更ストリームのカタログ名。常に空の文字列。 | 
CHANGE_STREAM_SCHEMA | 
    STRING | 
    変更ストリームのスキーマ名。常に空の文字列。 | 
CHANGE_STREAM_NAME | 
    STRING | 
    この行が参照する変更ストリーム名。 | 
TABLE_CATALOG | 
    STRING | 
    テーブルのカタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    テーブルのスキーマ名。常に空の文字列。 | 
TABLE_NAME | 
    STRING | 
    この行が参照するテーブルの名前。 | 
ALL_COLUMNS | 
    BOOL | 
    この行の変更ストリームが、この行が参照しているテーブル全体を追跡する場合は、TRUE。それ以外の場合は、FALSE。 | 
 
CHANGE_STREAM_COLUMNS
この行でフィルタリングされたテーブルには、テーブルの列と、それらをモニタリングする変更ストリームに関する情報が含まれています。各行は 1 つの変更ストリームと 1 つの列を表します。変更ストリームがテーブル全体を追跡している場合、そのテーブルの列はこのビューに表示されません。
データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーとなっているロール、または public に SELECT 権限が付与されている変更ストリームの行のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
CHANGE_STREAM_CATALOG | 
    STRING | 
    変更ストリームのカタログ名。常に空の文字列。 | 
CHANGE_STREAM_SCHEMA | 
    STRING | 
    変更ストリームのスキーマ名。常に空の文字列。 | 
CHANGE_STREAM_NAME | 
    STRING | 
    変更ストリームの名前。 | 
TABLE_CATALOG | 
    STRING | 
    テーブルのカタログ名。常に空の文字列。 | 
TABLE_SCHEMA | 
    STRING | 
    テーブルのスキーマ名。常に空の文字列。 | 
TABLE_NAME | 
    STRING | 
    この行が参照するテーブルの名前。 | 
COLUMN_NAME | 
    STRING | 
    この行が参照する列の名前。 | 
CHANGE_STREAM_OPTIONS
この行フィルタリングされたテーブルには、変更ストリームの構成オプションが含まれています。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーとなっているロール、または public に SELECT 権限が付与されている変更ストリームのオプションのみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
CHANGE_STREAM_CATALOG | 
    STRING | 
    変更ストリームのカタログ名。常に空の文字列。 | 
CHANGE_STREAM_SCHEMA | 
    STRING | 
    変更ストリームのスキーマ名。常に空の文字列。 | 
CHANGE_STREAM_NAME | 
    STRING | 
    変更ストリームの名前。 | 
OPTION_NAME | 
    STRING | 
    変更ストリーム オプションの名前。 | 
OPTION_TYPE | 
    STRING | 
    変更ストリーム オプションのデータ型。 | 
OPTION_VALUE | 
    STRING | 
    変更ストリーム オプションの値。 | 
CHANGE_STREAM_PRIVILEGES
この行でフィルタされたテーブルには、public を含む任意のデータベース ロールのすべての変更ストリームに付与されているきめ細かいアクセス制御のすべての権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース、現在のデータベース ロールがメンバーであるロールまたは public に対する変更ストリームに付与されている権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
              CHANGE_STREAM_CATALOG
           | 
          
              STRING
           | 
          変更ストリームを含むカタログの名前(空の文字列)。 | 
              CHANGE_STREAM_SCHEMA
           | 
          
              STRING
           | 
          変更ストリームを含むスキーマの名前(空の文字列)。 | 
              CHANGE_STREAM_NAME
           | 
          
              STRING
           | 
          変更ストリームの名前。 | 
              PRIVILEGE_TYPE
           | 
          
              STRING
           | 
          
              SELECT(変更ストリームで使用できる唯一の権限)。 | 
      
              GRANTEE
           | 
          
              STRING
           | 
          この権限が付与されているデータベース ロールの名前。 | 
ROUTINES
この行でフィルタされたテーブルには、データベースの変更ストリームの読み取り機能がすべて示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、または public に、EXECUTE のきめ細かいアクセス制御の特権が付与されている変更ストリームの読み取り機能のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
SPECIFIC_CATALOG | 
            STRING | 
            ルーティンのカタログ名。常に空の文字列。 | 
SPECIFIC_SCHEMA | 
            STRING | 
            ルーティンのスキーマ名。常に空の文字列。 | 
SPECIFIC_NAME | 
            STRING | 
            ルーティンの名前。名前がオーバーロードされている場合でも、ルーティンを一意に識別します。 | 
ROUTINE_CATALOG | 
            STRING | 
            ルーティンのカタログ名。常に空の文字列。 | 
ROUTINE_SCHEMA | 
            STRING | 
            ルーティンのスキーマ名。常に空の文字列。 | 
ROUTINE_NAME | 
            STRING | 
            ルーティンの名前。(オーバーロードの場合、重複することがあります) | 
ROUTINE_TYPE | 
            STRING | 
            ルーティンのタイプ(FUNCTION または PROCEDURE)。常に FUNCTION。 | 
        
DATA_TYPE | 
            STRING | 
            ルーティンが返すデータ型。 | 
ROUTINE_BODY | 
            STRING | 
            ルーティン本文のタイプ(SQL または EXTERNAL)。 | 
        
ROUTINE_DEFINITION | 
            STRING | 
            ROUTINE_BODY の定義。 | 
        
SECURITY_TYPE | 
            STRING | 
            ルーティンのセキュリティ タイプ。常に INVOKER。 | 
        
ROUTINE_OPTIONS
この行でフィルタされたテーブルには、定義された変更ストリームの読み取り機能ごとに 1 つの行が示されます。
データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、または public に、EXECUTE のきめ細かいアクセス制御の特権が付与されている変更ストリームの読み取り機能のオプションのみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
                SPECIFIC_CATALOG
             | 
            
                STRING
             | 
            ルーティンのカタログ名。常に空の文字列。 | 
                SPECIFIC_SCHEMA
             | 
            
                STRING
             | 
            ルーティンのスキーマ名。常に空の文字列。 | 
                SPECIFIC_NAME
             | 
            
                STRING
             | 
            ルーティンの名前。名前がオーバーロードしている場合にルーティンを一意に識別します。 | 
                OPTION_NAME
             | 
            
                STRING
             | 
            オプションを一意に識別する SQL 識別子。 | 
                OPTION_TYPE
             | 
            
                STRING
             | 
            OPTION_VALUE のデータ型。 | 
        
                OPTION_VALUE
             | 
            
                STRING
             | 
            このオプションの値を表す SQL リテラル。この列の値は、クエリの一部として解析可能でなければなりません。 | 
PARAMETERS
この行でフィルタされたテーブルには、各変更ストリームの読み取り機能の引数が定義されています。各行は、1 つの変更ストリームの読み取り機能の 1 つの引数を表します。
データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、または public に、EXECUTE のきめ細かいアクセス制御の特権が付与されている変更ストリームの読み取り機能のパラメータのみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
SPECIFIC_CATALOG | 
            STRING | 
            ルーティンのカタログ名。常に空の文字列。 | 
SPECIFIC_SCHEMA | 
            STRING | 
            ルーティンのスキーマ名。常に空の文字列。 | 
SPECIFIC_NAME | 
            STRING | 
            ルーティンの名前。名前がオーバーロードしている場合にルーティンを一意に識別します。 | 
ORDINAL_POSITION | 
            INT64 | 
            ルーティン内のパラメータの順序位置(1 から始まります)。 | 
PARAMETER_NAME | 
            STRING | 
            パラメータの名前。 | 
DATA_TYPE | 
            STRING | 
            パラメータのデータ型。 | 
PARAMETER_DEFAULT | 
            STRING | 
            パラメータのデフォルト値。デフォルト値がないパラメータの場合は NULL。 | 
        
ROUTINE_PRIVILEGES
この行でフィルタされたテーブルには、public を含む任意のデータベース ロールに対するすべての変更ストリーム読み取り機能に付与されているきめ細かいアクセス制御の権限がすべて示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーであるロール、または public に対する変更ストリームに付与されている権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
SPECIFIC_CATALOG | 
            STRING | 
            ルーティンのカタログ名。常に空の文字列。 | 
SPECIFIC_SCHEMA | 
            STRING | 
            ルーティンのスキーマ名。常に空の文字列。 | 
SPECIFIC_NAME | 
            STRING | 
            ルーティンの名前。名前がオーバーロードしている場合にルーティンを一意に識別します。 | 
PRIVILEGE_TYPE | 
            STRING | 
            常に EXECUTE。 | 
        
GRANTEE | 
            STRING | 
            この権限が付与されているデータベース ロールの名前。 | 
ROLE_TABLE_GRANTS
この行でフィルタされたテーブルには、public を含む任意のデータベース ロールに付与されているすべてのテーブルとビューに関するきめ細かいアクセス制御の権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロールと、現在のデータベース ロールがメンバーであるロール(public を除く)に付与されているテーブルとビューに関する権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
GRANTOR | 
            STRING | 
            使用されません。常に NULL です。 | 
        
GRANTEE | 
            STRING | 
            この権限が付与されているデータベース ロールの名前。 | 
TABLE_CATALOG | 
            STRING | 
            不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
            STRING | 
            不使用。常に空の文字列。 | 
TABLE_NAME | 
            STRING | 
            テーブルまたはビューの名前。 | 
PRIVILEGE_TYPE | 
            STRING | 
            権限のタイプ(SELECT、INSERT、UPDATE、DELETE)。 | 
        
IS_GRANTABLE | 
            STRING | 
            使用されません。常に NO。 | 
        
ROLE_COLUMN_GRANTS
この行でフィルタされたテーブルには、public を含む任意のデータベース ロールに付与されているすべての列に関するきめ細かいアクセス制御の権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロールと、現在のデータベース ロールがメンバーであるロール(public を除く)に付与されている列に関する権限のみを表示できます。
ビューには、列を含むテーブルまたはビューから継承される SELECT、INSERT、UPDATE の権限が含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
GRANTOR | 
            STRING | 
            使用されません。常に NULL です。 | 
        
GRANTEE | 
            STRING | 
            この権限が付与されているデータベース ロールの名前。 | 
TABLE_CATALOG | 
            STRING | 
            不使用。常に空の文字列。 | 
TABLE_SCHEMA | 
            STRING | 
            不使用。常に空の文字列。 | 
TABLE_NAME | 
            STRING | 
            列を含むテーブルまたはビューの名前。 | 
COLUMN_NAME | 
            STRING | 
            権限が付与される列の名前。 | 
PRIVILEGE_TYPE | 
            STRING | 
            権限のタイプ(SELECT、INSERT、UPDATE)。 | 
        
IS_GRANTABLE | 
            STRING | 
            使用されません。常に NO。 | 
        
ROLE_CHANGE_STREAM_GRANTS
この行でフィルタされたテーブルには、public を含むすべてのデータベース ロールのすべての変更ストリームに付与されている SELECT 権限がすべて示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロールと、現在のデータベース ロールがメンバーであるロール(public を除く)に付与されている変更ストリームに関する権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
CHANGE_STREAM_CATALOG | 
            STRING | 
            不使用。常に空の文字列。 | 
CHANGE_STREAM_SCHEMA | 
            STRING | 
            変更ストリームを含むスキーマの名前。 | 
CHANGE_STREAM_NAME | 
            STRING | 
            変更ストリームの名前。 | 
PRIVILEGE_TYPE | 
            STRING | 
            権限のタイプ(SELECT のみ)。 | 
        
GRANTEE | 
            STRING | 
            この権限が付与されているデータベース ロールの名前。 | 
ROLE_MODEL_GRANTS
この行でフィルタされたテーブルには、public を含む任意のデータベース ロールに付与されているすべてのモデルに関するきめ細かいアクセス制御の権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロールと、現在のデータベース ロールがメンバーであるロール(public を除く)に付与されているテーブルとビューに関する権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
GRANTOR | 
            STRING | 
            使用されません。常に NULL です。 | 
        
GRANTEE | 
            STRING | 
            この権限が付与されているデータベース ロールの名前。 | 
MODEL_CATALOG | 
            STRING | 
            不使用。常に空の文字列。 | 
MODEL_SCHEMA | 
            STRING | 
            不使用。常に空の文字列。 | 
MODEL_NAME | 
            STRING | 
            モデルの名前。 | 
PRIVILEGE_TYPE | 
            STRING | 
            権限のタイプ(EXECUTE)。 | 
        
IS_GRANTABLE | 
            STRING | 
            不使用。常に NO。 | 
        
ROLE_ROUTINE_GRANTS
この行でフィルタされたテーブルには、public を含むすべてのデータベース ロールのすべての変更ストリームの読み取り機能に付与されている EXECUTE 権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルには、現在のデータベース ロールと、現在のデータベース ロールがメンバーであるロール(public を除く)の変更ストリームの読み取り機能に付与される権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
                GRANTOR
             | 
            
                STRING
             | 
            使用されません。常に NULL。 | 
        
                GRANTEE
             | 
            
                STRING
             | 
            権限が付与されるロールの名前。 | 
                SPECIFIC_CATALOG
             | 
            
                STRING
             | 
            ルーティン カタログの名前。 | 
                SPECIFIC_SCHEMA
             | 
            
                STRING
             | 
            ルーティン スキーマの名前。 | 
                SPECIFIC_NAME
             | 
            
                STRING
             | 
            ルーティンの名前。名前がオーバーロードしている場合にルーティンを一意に識別します。 | 
                PRIVILEGE_TYPE
             | 
            
                STRING
             | 
            付与される権限のタイプ。常に EXECUTE。 | 
        
                IS_GRANTABLE
             | 
            
                STRING
             | 
            使用されません。常に NO。 | 
        
MODELS
このテーブルには、データベースのすべてのモデルが示されます。
| 列名 | 型 | 説明 | 
|---|---|---|
MODEL_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
MODEL_SCHEMA | 
    STRING | 
    このモデルのスキーマ名。常に空の文字列。 | 
MODEL_NAME | 
    STRING | 
    モデルの名前。 | 
IS_REMOTE | 
    BOOL | 
    リモートモデルの場合は TRUE。マネージド モデルの場合は FALSE。 | 
 
MODEL_OPTIONS
このテーブルには、モデルの構成オプションが含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
MODEL_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
MODEL_SCHEMA | 
    STRING | 
    このモデルのスキーマ名。常に空の文字列。 | 
MODEL_NAME | 
    STRING | 
    モデルの名前。 | 
OPTION_NAME | 
    STRING | 
    モデル オプションの名前。 | 
OPTION_TYPE | 
    STRING | 
    モデル オプションのデータ型。 | 
OPTION_VALUE | 
    STRING | 
    モデル オプションの値。 | 
MODEL_COLUMNS
このテーブルには、モデル内の列が示されます。
| 列名 | 型 | 説明 | 
|---|---|---|
MODEL_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
MODEL_SCHEMA | 
    STRING | 
    このモデルのスキーマ名。常に空の文字列。 | 
MODEL_NAME | 
    STRING | 
    モデルの名前。 | 
COLUMN_KIND | 
    STRING | 
    モデル列の種類。"INPUT" または "OUTPUT" のいずれか。 | 
 
COLUMN_NAME | 
    STRING | 
    列の名前。 | 
DATA_TYPE | 
    STRING | 
    列の標準 SQL データ型 | 
ORDINAL_POSITION | 
    INT64 | 
    宣言された列の順序を保持するため、値が 1 で始まる列の順序位置。 | 
IS_EXPLICIT | 
    BOOL | 
    列が DDL で明示的に指定されている場合は TRUE、列がエンドポイントから検出された場合は FALSE。 | 
 
MODEL_COLUMN_OPTIONS
このテーブルには、モデル列の構成オプションが示されます。
| 列名 | 型 | 説明 | 
|---|---|---|
MODEL_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
MODEL_SCHEMA | 
    STRING | 
    このモデルのスキーマ名。常に空の文字列。 | 
MODEL_NAME | 
    STRING | 
    モデルの名前。 | 
COLUMN_KIND | 
    STRING | 
    モデル列の種類。"INPUT" または "OUTPUT" のいずれか。 | 
 
COLUMN_NAME | 
    STRING | 
    列の名前。 | 
OPTION_NAME | 
    STRING | 
    モデル列オプションの名前。 | 
OPTION_TYPE | 
    STRING | 
    モデル列オプションのデータ型。 | 
OPTION_VALUE | 
    STRING | 
    モデル列オプションの値。 | 
MODEL_PRIVILEGES
この行でフィルタされたテーブルには、public を含むデータベース ロールにモデルレベルで付与されたすべての権限が示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース ロール、現在のデータベース ロールがメンバーとなっているロール、または public に EXECUTE のきめ細かいアクセス制御の権限が付与されているモデルの権限のみを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
MODEL_CATALOG | 
    STRING | 
    不使用。常に空の文字列。 | 
MODEL_SCHEMA | 
    STRING | 
    不使用。常に空の文字列。 | 
MODEL_NAME | 
    STRING | 
    きめ細かいアクセス制御の権限が付与されているモデルの名前。 | 
PRIVILEGE_TYPE | 
    STRING | 
    EXECUTE> | 
 
GRANTEE | 
    STRING | 
    この権限が付与されているデータベース ロールの名前。 | 
PROPERTY_GRAPHS
この行でフィルタされたテーブルには、データベース内のプロパティ グラフが示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールまたはそのロールのメンバーへのアクセス権が付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、それらのグラフの定義に使用されるすべてのテーブルを表示するための要件を満たしている場合にのみ、プロパティ グラフを表示できます。
| 列名 | 型 | 説明 | 
|---|---|---|
PROPERTY_GRAPH_CATALOG | 
    STRING | 
    カタログ名。常に空の文字列。 | 
PROPERTY_GRAPH_SCHEMA | 
    STRING | 
    スキーマ名。名前がない場合は空の文字列。 | 
PROPERTY_GRAPH_NAME | 
    STRING | 
    プロパティ グラフの名前。 | 
PROPERTY_GRAPH_METADATA_JSON | 
    JSON | 
    プロパティ グラフの定義(JSON 形式)。 | 
PROPERTY_GRAPH_METADATA_JSON 列には、次のように定義された PropertyGraph JSON オブジェクトが含まれています。
| JSON オブジェクト名 | フィールド名 | JSON 型 | 説明 | 
|---|---|---|---|
PropertyGraph | 
    catalog | 
    string | 
    カタログ名。常に空の文字列。 | 
schema | 
    string | 
    スキーマ名。名前がない場合は空の文字列。 | |
name | 
    string | 
    プロパティ グラフの名前。 | |
nodeTables | 
    array<object> | 
    ノードの GraphElementTable オブジェクトのリスト。 | 
 |
edgeTables | 
    array<object> | 
    エッジの GraphElementTable オブジェクトのリスト。 | 
 |
labels | 
    array<object> | 
    GraphElementLabel オブジェクトのリスト。 | 
 |
propertyDeclarations | 
    array<object> | 
    GraphPropertyDeclaration オブジェクトのリスト。 | 
 |
GraphElementTable | 
    name | 
    string | 
    グラフ要素テーブルの名前。 | 
kind | 
    string | 
    NODE または EDGE のいずれか。 | 
 |
baseCatalogName | 
    string | 
    ベーステーブルを含むカタログの名前。 | |
baseSchemaName | 
    string | 
    ベーステーブルを含むスキーマの名前。 | |
baseTableName | 
    string | 
    要素が作成される入力テーブルの名前。 | |
keyColumns | 
    array<string> | 
    要素キーを構成する列名。 | |
labelNames | 
    array<string> | 
    この要素テーブルに適用されているラベル名。 | |
propertyDefinitions | 
    array<object> | 
    GraphPropertyDefinition オブジェクトのリスト。 | 
 |
dynamicLabelExpr | 
   string | 
   DYNAMIC LABEL の定義を含む列の名前。 | 
 |
dynamicPropertyExpr | 
   string | 
   DYNAMIC PROPERTIES の定義を含む列の名前。 | 
 |
sourceNodeTable | 
    object | 
    GraphNodeTableReference オブジェクト。kind が EDGE の場合にのみ存在します。 | 
 |
destinationNodeTable | 
    object | 
    GraphNodeTableReference オブジェクト。kind が EDGE の場合にのみ存在します。 | 
 |
GraphNodeTableReference | 
    nodeTableName | 
    string | 
    グラフ要素テーブルの名前。 | 
edgeTableColumns | 
    array<string> | 
    エッジのソースキーと宛先キーに関連付けられている列の名前。 | |
nodeTableColumns | 
    array<string> | 
    ノードのソースキーと宛先キーに関連付けられている列の名前。 | |
GraphElementLabel | 
    name | 
    string | 
    ラベルの名前。 | 
propertyDeclarationNames | 
    array<string> | 
    このラベルに関連付けられているプロパティの名前。 | |
GraphPropertyDeclaration | 
    name | 
    string | 
    プロパティの名前。 | 
type | 
    string | 
    プロパティのタイプ。 | |
GraphPropertyDefinition | 
    propertyDeclarationName | 
    string | 
    プロパティの名前。 | 
valueExpressionSql | 
    string | 
    プロパティを定義する式。 | 
例
ユーザーのスキーマの各テーブルに関する情報を返します。
SELECT
  t.table_schema,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name
INFORMATION_SCHEMA 内のすべてのテーブルの名前を返します。
SELECT
  t.table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = "SPANNER_SYS"
デフォルトのスキーマにあるユーザー テーブル MyTable の列に関する情報を返します。
SELECT
  t.column_name,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.table_name = 'MyTable'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.ordinal_position
データベースのデフォルトのリーダー リージョンに関する情報を返します。デフォルトのリーダーが設定されていない場合は空の値が返されます。
SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.option_name = 'default_leader'
ユーザーのスキーマにある各インデックスの情報を返します。
SELECT
  t.table_schema,
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.index_name
デフォルト以外のオプションを使用するすべての列を返します。
SELECT
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_catalog = ''
AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
現在のオプティマイザー関連のデータベース オプションを返します。
SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name=''
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')
使用可能なすべての統計情報パッケージを返します。
SELECT
  *
FROM
  information_schema.spanner_statistics;
すべてのシーケンスを返します。
SELECT
  *
FROM
  information_schema.sequences;
MySequence という名前のシーケンスのすべてのシーケンス オプションを返します。
SELECT
  *
FROM
  information_schema.sequence_options WHERE name="MySequence";
すべてのプロパティ グラフの名前とその定義を返します。
SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs
すべてのプロパティ グラフの名前を、ラベルとプロパティとともに返します。
SELECT
  property_graph_name,
  property_graph_metadata_json.labels,
  property_graph_metadata_json.propertyDeclarations
FROM
  information_schema.property_graphs
次のステップ
- データベースの問題の調査に役立つイントロスペクション ツールについて学習する。