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

情報スキーマはすべての Spanner データベースに共通する組み込みスキーマです。データベースのスキーマ メタデータをフェッチするために INFORMATION_SCHEMA にあるテーブルで SQL クエリを実行できます。

たとえば、以下のクエリはデータベース内のすべてのユーザー定義テーブルの名前をフェッチします。

  SELECT
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema = ''

詳細なアクセス制御ユーザーには、データベースロールに応じて一部の INFORMATION_SCHEMA テーブルのフィルタされた結果が表示されます。詳細については、細かいアクセス制御についてをご覧ください。

使用量

INFORMATION_SCHEMA テーブルは SQL インターフェースを介してのみ利用できます。例:

  • executeQueryAPI
  • 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 bundle ステートメントが含まれている場合、この列にはスキーマで使用されている proto bundle に関する情報が表示されます。データベースにプロトバンドルが存在しない場合、この列は 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 の場合、これはデフォルトのリーダー リージョンの名前です。

TABLES

この行でフィルタリングされたテーブルには、データベース内のテーブルとビューが一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすテーブルのみを表示できます。

  • SELECTINSERTUPDATE、または DELETE のきめ細かいアクセス制御権限は、現在のデータベース ロールがメンバーであるロール、または publicに対するテーブルに付与されます。
  • SELECTINSERTUPDATE のいずれかの権限が、現在のデータベース ロール、または現在のデータベース ロールがメンバーであるロール、または 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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たす列のみを表示できます。

  • SELECTINSERT または UPDATE のいずれかのきめ細かなアクセス制御特権は、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、または public に対する列で直接付与されます。
  • SELECTINSERT または 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 標準に従い、この文字列はブール値ではなく、YESNO になります。
SPANNER_TYPE STRING 列のデータ型
IS_GENERATED STRING 列が生成されるかどうかを示す文字列。文字列は、生成された列の場合は ALWAYS、生成されていない列の場合は NEVER になります。
GENERATION_EXPRESSION STRING 生成された列の SQL 式を表す文字列。列が生成された列でない場合は NULL になります。
IS_STORED STRING 生成された列が格納されているかどうかを示す文字列。生成された列の場合、文字列は常に YES で、生成されていない列の場合は NULL になります。
SPANNER_STATE STRING 列の現在の状態。新しく保存された生成列が既存のテーブルに追加されると、完全に使用可能になる前に、ユーザーがモニタリング可能な複数の状態を経由する場合があります。有効な値は次のとおりです。
  • WRITE_ONLY: 列はバックフィルされます。読み取りはできません。
  • COMMITTED: この列はすべて使用できます。

COLUMN_PRIVILEGES

この行でフィルタされたテーブルには、public を含むすべてのデータベース ロールに列レベルで付与されているすべての権限が一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たす列の権限のみを確認できます。

  • SELECTINSERT または UPDATE のいずれかのきめ細かなアクセス制御特権は、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、または public に対する列で直接付与されます。
  • SELECTINSERT または UPDATEのいずれかのきめ細かいアクセス制御権限は、現在のデータベースのロール、現在のデータベース ロールがメンバーであるロール、または publicに対する列を含むテーブルに付与されます。
列名 説明
TABLE_CATALOG STRING 使用されません。常に空の文字列。
TABLE_SCHEMA STRING 使用されません。常に空の文字列。
TABLE_NAME STRING 特権列を含むテーブルの名前。
COLUMN_NAME STRING 特権列の名前。
PRIVILEGE_TYPE STRING SELECTINSERTUPDATE
GRANTEE STRING この権限が付与されているデータベース ロールの名前。

TABLE_PRIVILEGES

この行でフィルタされたテーブルには、public を含むデータベース ロールにテーブルレベルで付与されたすべての権限が一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、または publicSELECTINSERTUPDATE、または DELETE のいずれかのきめ細かいアクセス制御権限が付与されているテーブルのみが表示されます。

列名 説明
TABLE_CATALOG STRING 使用されません。常に空の文字列。
TABLE_SCHEMA STRING 使用されません。常に空の文字列。
TABLE_NAME STRING 詳細なアクセス制御権限が付与されるモデルの名前。
PRIVILEGE_TYPE STRING SELECTINSERTUPDATEDELETEのいずれかになります。
GRANTEE STRING この権限が付与されているデータベース ロールの名前。

TABLE_CONSTRAINTS

このテーブルには、データベース内のテーブルに定義された制約ごとに 1 つの行が表示されます。

列名 説明
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 常に YES です。

CONSTRAINT_TABLE_USAGE

このテーブルには、制約を定義するテーブル、または制約によって使用されるテーブルが一覧表示されます。PRIMARY KEYUNIQUE の制約を定義するテーブルが表示されます。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 外部キーのカタログの名前。常に空の文字列。
CONSTRAINT_SCHEMA STRING 外部キーのスキーマ名。名前が付いていない場合は空の文字列。
CONSTRAINT_NAME STRING 外部キーの名前。
UNIQUE_CONSTRAINT_CATALOG STRING 外部キーが参照する主キーまたは一意の制約のカタログ名。常に空の文字列。
UNIQUE_CONSTRAINT_SCHEMA STRING 外部キーが参照する主キーまたは一意の制約のスキーマ名。名前が付いていない場合は空の文字列。
UNIQUE_CONSTRAINT_NAME STRING 外部キーが参照する主キーまたは一意の制約の名前。
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 KEYFOREIGN KEY、または UNIQUE の制約によってキーとして制約される TABLE_CONSTRAINTS のテーブルの列ごとに 1 行が表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次の条件を満たす列のみを表示できます。

  • SELECTINSERT または UPDATE のいずれかのきめ細かなアクセス制御特権は、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、または public に対する列で直接付与されます。
  • SELECTINSERT または UPDATEのいずれかのきめ細かいアクセス制御権限は、現在のデータベースのロール、現在のデータベース ロールがメンバーであるロール、または publicに対する列を含むテーブルに付与されます。
列名 説明
CONSTRAINT_CATALOG STRING 制約のカタログの名前。常に空の文字列。
CONSTRAINT_SCHEMA STRING 制約のスキーマ名。この列は null にできません。名前が付いていない場合は空の文字列。
CONSTRAINT_NAME STRING 制約の名前。
TABLE_CATALOG STRING 制約付きの列のカタログの名前。常に空の文字列。
TABLE_SCHEMA STRING 制約付きの列のスキーマ名。この列は null にできません。 名前が付いていない場合は空の文字列。
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 列テーブルのスキーマ名。この列は null にできません。名前がない場合は空の文字列。
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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすインデックスのみを表示できます。

  • SELECTINSERT、または UPDATE のいずれかのきめ細かいアクセス制御権限は、現在のデータベースのロール、現在のデータベース ロールがメンバーであるロール、または public に対するインデックスの全ての列に対する列レベルに付与されます。
  • SELECTINSERTUPDATE または DELETE のいずれかのきめ細かいアクセス制御権限は、現在のデータベースのロール、現在のデータベース ロールがメンバーであるロール、またはpublic に対するインデックスを持つテーブルに付与されます。
列名 説明
TABLE_CATALOG STRING カタログ名。常に空の文字列。
TABLE_SCHEMA STRING スキーマ名。名前が付いていない場合は空の文字列。
TABLE_NAME STRING テーブルの名前。
INDEX_NAME STRING インデックスの名前。PRIMARY KEY 仕様のテーブルには、PRIMARY_KEY という名前で生成される疑似インデックス エントリがあり、決定されるプライマリキーのフィールドを許可します。
INDEX_TYPE STRING インデックスのデータ型。データ型は INDEXPRIMARY_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 TRUE(インデックスが Spanner によって管理されている場合)。それ以外の場合は FALSE。外部キーの 2 番目のバックアップ インデックスは、Spanner によって管理されます。

INDEX_COLUMNS

この行でフィルタリングされたテーブルには、インデックス内の列が一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすインデックスのみを表示できます。

  • SELECTINSERT、または UPDATE のいずれかのきめ細かいアクセス制御権限は、現在のデータベースのロール、現在のデータベース ロールがメンバーであるロール、または public に対するインデックスの全ての列に対する列レベルに付与されます。
  • SELECTINSERT、または UPDATE のいずれかのきめ細かいアクセス制御権限は、現在のデータベースのロール、現在のデータベース ロールがメンバーであるロール、または public  に対するインデックスを持つテーブルに付与されます。
列名 説明
TABLE_CATALOG STRING カタログ名。常に空の文字列。
TABLE_SCHEMA STRING スキーマ名。名前が付いていない場合は空の文字列。
TABLE_NAME STRING テーブルの名前。
INDEX_NAME STRING インデックスの名前。
COLUMN_NAME STRING 列の名前。
ORDINAL_POSITION INT64 1 の値で始まるインデックス(またはプライマリキー)の列の順序位置。この値は、キーのない列(たとえば、インデックスの STORINGで指定された列など)では NULL となります。
COLUMN_ORDERING STRING 列の順序。この値はキー列では ASCDESC となり、キーのない列では NULL となります(たとえば、インデックスの STORING 句で指定された列など)。
IS_NULLABLE STRING 列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール型ではなく、YESNO になります。
SPANNER_TYPE STRING 列のデータ型

COLUMN_OPTIONS

この行でフィルタリングされたテーブルには、テーブル内の列のオプションが一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たす列のオプションのみを表示できます。

  • SELECTINSERT または UPDATE のいずれかのきめ細かなアクセス制御特権は、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、または public に対する列で直接付与されます。
  • SELECTINSERT または 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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 微細アクセス制御の権限が付与されているビューのみが表示されます。

列名 説明
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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 微細アクセス制御の権限が付与されている変更ストリームのみを見ることができます。

列名 説明
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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 権限が付与されている変更ストリームの行のみが表示されます。

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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 権限が付与されている変更ストリームの行のみが表示されます。

列名 説明
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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 権限が付与されている変更ストリームのオプション のみを見ることができます。

列名 説明
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 パラメータのデータタイプ。

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 権限のタイプ(SELECTINSERTUPDATEDELETE)。
IS_GRANTABLE STRING 使用されません。常に NO です。

ROLE_COLUMN_GRANTS

この行でフィルタされたテーブルには、public を含む任意のデータベース ロールに付与されているすべての列に関するアクセス制御権限が一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルには、現在のデータベース ロールの変更ロールと、現在のデータベース ロールがメンバーであるロール(public を除く)の列に付与されている権限のみが表示されます。

ビューには、列を含むテーブルまたはビューから列が継承する SELECTINSERTUPDATE の権限が含まれます。

列名 説明
GRANTOR STRING 使用されません。常に NULL です。
GRANTEE STRING この権限が付与されているデータベース ロールの名前。
TABLE_CATALOG STRING 使用されません。常に空の文字列。
TABLE_SCHEMA STRING 使用されません。常に空の文字列。
TABLE_NAME STRING 列を含むテーブルまたはビューの名前。
COLUMN_NAME STRING 権限が付与される列の名前。
PRIVILEGE_TYPE STRING 権限のタイプ(SELECTINSERTUPDATE)。
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 システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicEXECUTE というきめ細やかなアクセス制御権限が付与されているビューのみが表示されます。

列名 説明
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 オブジェクトのリスト。
sourceNodeTable object GraphNodeTableReference オブジェクト。 kindEDGE の場合にのみ存在します。
destinationNodeTable object GraphNodeTableReference オブジェクト。 kindEDGE の場合にのみ存在します。
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_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
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_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.index_name

デフォルト以外のオプションを使用するすべての列を返します。

SELECT
  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 = ''

現在のオプティマイザ関連のデータベース オプションを返します。

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

次のステップ