GoogleSQL 言語データベースの情報スキーマ

情報スキーマはすべての 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 インターフェースを介してのみ利用できます。例:

  • executeQuery API
  • gcloud spanner databases execute-sql コマンド
  • Google Cloud コンソールのデータベースの [Spanner Studio] ページ。

他の単一読み取りメソッドは、INFORMATION_SCHEMA をサポートしていません。

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_partition
  • default_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 ローカリティ グループ オプションの名前。有効なオプションは次のとおりです。
  • STORAGE: ローカリティ グループのストレージ タイプを定義します。
  • SSD_TO_HDD_SPILL_TIMESPAN: データが HDD ストレージに移動するまでの SSD ストレージでの保存時間を定義します。
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 大量のオペレーションが含まれる場合、テーブルの作成中に複数の状態に遷移します。たとえば、インデックスのバックフィルを必要とする外部キーでテーブルが作成された場合です。次のような状態があります。
  • ADDING_FOREIGN_KEY: テーブルの外部キーを追加しています。
  • WAITING_FOR_COMMIT: スキーマの変更の最終処理を実行しています。
  • COMMITTED: テーブルを作成するためのスキーマの変更が commit されました。変更が commit されるまで、テーブルに書き込むことはできません。
INTERLEAVE_TYPE STRING このテーブルとインターリーブされたテーブルの間に親子関係があるかどうかを示す式テキスト。次の値があります。
  • IN: テーブルに親子関係はありません。このテーブルの行は、親テーブルの行の存在に関係なく存在できます。
  • IN PARENT: テーブルに親子関係があります。このテーブルの行には、親テーブルの行が存在する必要があります。
  • 空の文字列は、このテーブルにインターリーブ関係がないことを示します。
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 式の文字列表現。列にデフォルト値がない場合は NULL。

注: 2022 年 3 月以前は、COLUMN_DEFAULT はタイプ BYTES を使用していました。

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 列の現在の状態。新しく保存された生成列が既存のテーブルに追加されると、完全に使用可能になるまでに、ユーザーがモニタリング可能な複数の状態を遷移する場合があります。次の値があります。
  • WRITE_ONLY: 列はバックフィルされています。読み取りはできません。
  • COMMITTED: この列は完全に使用可能です。
IS_IDENTITY STRING 生成された列が ID 列の場合は YES、それ以外の場合は NO に設定される文字列。
IDENTITY_GENERATION STRING 列に、ユーザーが挿入したカスタム値ではなく、生成された値のみを許可するかどうかを指定する文字列。
  • BY DEFAULT: デフォルト値。BY DEFAULT は、ユーザーが挿入した値が指定されていない場合に、列が生成された値を使用することを指定します。
  • ALWAYS: 列には、生成された値のみを指定できます。ユーザーがカスタム値を指定することはできません。
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 制約の種類。次の値があります。
  • PRIMARY KEY
  • FOREIGN KEY
  • PLACEMENT KEY
  • CHECK
  • UNIQUE
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 は既存のデータの検証中に新しいトランザクションの制約の適用を開始します。可能な値と状態は以下のとおりです。
  • BACKFILLING_INDEXES: インデックスのバックフィル中です。
  • VALIDATING_DATA: 既存のデータと新しい書き込みの検証中です。
  • WAITING_FOR_COMMIT: 外部キーの一括操作が正常に完了したか、操作は必要なかったものの外部キーがまだ保留中の状態です。
  • COMMITTED: スキーマの変更が commit されました。

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 にできません。可能な状態は次のとおりです。
  • VALIDATING: Spanner は既存のデータを検証しています。
  • COMMITTED: この制約に有効なスキーマの変更はありません。

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 インデックスの現在の状態。可能な値と状態は以下のとおりです。
  • PREPARE: 新しいインデックスに空のテーブルを作成します。
  • WRITE_ONLY: 新しいインデックスにデータをバックフィルします。
  • WRITE_ONLY_CLEANUP: 新しいインデックスのクリーンアップを行います。
  • WRITE_ONLY_VALIDATE_UNIQUE: 新しいインデックス データが一意であることを確認します。
  • READ_WRITE: 通常のインデックス オペレーション。
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 ノードの GraphElementTable オブジェクトのリスト。
edgeTables array エッジの GraphElementTable オブジェクトのリスト。
labels array GraphElementLabel オブジェクトのリスト。
propertyDeclarations array GraphPropertyDeclaration オブジェクトのリスト。
GraphElementTable name string グラフ要素テーブルの名前。
kind string NODE または EDGE のいずれか。
baseCatalogName string ベーステーブルを含むカタログの名前。
baseSchemaName string ベーステーブルを含むスキーマの名前。
baseTableName string 要素が作成される入力テーブルの名前。
keyColumns array 要素キーを構成する列名。
labelNames array この要素テーブルに適用されているラベル名。
propertyDefinitions array GraphPropertyDefinition オブジェクトのリスト。
dynamicLabelExpr string DYNAMIC LABEL の定義を含む列の名前。
dynamicPropertyExpr string DYNAMIC PROPERTIES の定義を含む列の名前。
sourceNodeTable object GraphNodeTableReference オブジェクト。kind が EDGE の場合にのみ存在します。
destinationNodeTable object GraphNodeTableReference オブジェクト。kind が EDGE の場合にのみ存在します。
GraphNodeTableReference nodeTableName string グラフ要素テーブルの名前。
edgeTableColumns array エッジのソースキーと宛先キーに関連付けられている列の名前。
nodeTableColumns array ノードのソースキーと宛先キーに関連付けられている列の名前。
GraphElementLabel name string ラベルの名前。
propertyDeclarationNames array このラベルに関連付けられているプロパティの名前。
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

次のステップ