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

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

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

  SELECT
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema = 'public'

用途

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

    • executeQueryAPI
    • gcloud spanner databases execute-sql コマンド
    • Google Cloud コンソールのデータベースの [クエリ] ページ。

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

PostgreSQL の information_schema との違い

PostgreSQL 言語データベースの information_schema のテーブルは、オープンソース PostgreSQL 用の information_schema のテーブルの列を含んでおり、場合によっては Spanner の列も含んでいます。これらのテーブルでは、オープンソース PostgreSQL の列が最初にオープンソース PostgreSQL データベースと同じ順番で挿入され、Spanner 用の個別の列はその後に追加されます。Google Cloud CLI で PostgreSQL 言語データベースを使用する場合は、information_schema のオープンソース PostgreSQL バージョン用に作成されたクエリを変更せずにそのまま使用できます。

PostgreSQL 言語データベースの information_schema には、他にも以下のような大きな違いがあります。

  • オープンソース PostgreSQL のテーブル列の一部は使用できますが、PostgreSQL 言語データベースには入力されません。
  • PostgreSQL 言語データベースでは、デフォルトのスキーマ名に public を使用します。
  • 自動生成された制約名には、オープンソース PostgreSQL データベースとは異なる形式を使用します。
  • PostgreSQL 言語データベースでサポートされていないオープンソース PostgreSQL 機能に関連するテーブルは使用できません。
  • Spanner で使用できるがオープンソース PostgreSQL では使用できないいくつかのテーブル(database_optionsindex_columnsindexesspanner_statistics など)を使用できます。

information_schema テーブルとビューでの行フィルタリング

データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロール(またはそのロールのメンバー)へのアクセス権が付与されているプリンシパルは、すべての information_schema テーブルとビューの行のプリンシパルを表示できます。他のプリンシパルの場合、Spanner は現在のデータベース ロールに基づいて行をフィルタします。次の各セクションのテーブルとビューの説明では、Spanner が各テーブルとビューの行をどのようにフィルタするかを示します。

PostgreSQL 言語データベースの information_schema のテーブル

information_schema 内のテーブルとビューは、オープンソース PostgreSQL の information_schema 内のテーブルとビューと互換性があります。

以降のセクションでは、PostgreSQL 言語データベースの information_schema のテーブルとビューについて説明します。

applicable_roles

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

すべてのデータベース ロールがパブリック ロールのメンバーであるため、結果からパブリック ロールへの暗黙的なメンバーシップのレコードが除外されます。

列名 説明
grantee character varying メンバーシップが付与されるデータベース ロールの名前。
role_name character varying このメンバーシップが付与されている親データベース ロールの名前。
is_grantable character varying 使用されません。常に NO です。

change_stream_columns

この行でフィルタリングされたビューには、テーブルの列とそれらを監視する変更ストリームに関する情報が含まれています。各行は 1 つの変更ストリームと 1 つの列を表します。変更ストリームがテーブル全体を追跡している場合、そのテーブルの列はこのビューに表示されません。

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

列名 説明
change_stream_catalog character varying データベース名。
change_stream_schema character varying 変更ストリームのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
change_stream_name character varying 変更ストリームの名前。
table_catalog character varying データベース名。
table_schema character varying テーブルのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
table_name character varying この行が参照するテーブルの名前。
column_name character varying この行が参照する列の名前。

change_stream_options

この行フィルタリングされたビューには、変更ストリームの構成オプションが含まれています。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 権限が付与されている変更ストリームのオプション のみを見ることができます。

列名 説明
change_stream_catalog character varying データベース名。
change_stream_schema character varying 変更ストリームのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
change_stream_name character varying 変更ストリームの名前。
option_name character varying 変更ストリーム オプションの名前。
option_type character varying 変更ストリーム オプションのデータ型。
option_value character varying 変更ストリーム オプションの値。

change_stream_privileges

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying この権限が付与されているデータベース ロールの名前。
change_stream_catalog character varying データベース名。
change_stream_schema character varying 変更ストリームを含むスキーマの名前。PostgreSQL 言語データベースの場合、デフォルトは public です。
change_stream_name character varying 変更ストリームの名前。
privilege_type character varying 権限のタイプ(SELECT のみ)。
is_grantable character varying 使用されません。常に NO です。

change_stream_tables

この行でフィルタリングされたビューには、テーブルとそれらを監視する変更ストリームに関する情報が含まれています。各行は、1 つのテーブルと 1 つの変更ストリームを表します。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 権限が付与されている変更ストリームの行のみを見ることができます。

change_stream_tables のデータには、データベース全体を追跡するテーブルと変更ストリーム間の暗黙的な関係は含まれません。

列名 説明
change_stream_catalog character varying データベース名。
change_stream_schema character varying 変更ストリームのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
change_stream_name character varying この行が参照する変更ストリーム名。
table_catalog character varying データベース名。
table_schema character varying テーブルのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
table_name character varying この行が参照するテーブルの名前。
all_columns character varying YES(この行の変更ストリームが、この行が参照しているテーブル全体を追跡する場合)。そうでない場合は NO。SQL 標準に従い、この文字列はブール型ではなく、YESNO になります。

change_streams

この行でフィルタリングされたビューでは、データベースの変更ストリームをすべて列挙し、特定のテーブルまたは列に対してデータベース全体を追跡するものを示します。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または publicSELECT 微細アクセス制御の権限が付与されている変更ストリームのみを見ることができます。

列名 説明
change_stream_catalog character varying データベース名。
change_stream_schema character varying この変更ストリームのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
change_stream_name character varying 変更ストリームの名前。
all character varying YES(この変更ストリームがデータベース全体を追跡する場合)。 NO(この変更ストリームで特定のテーブルまたは列を追跡する場合)。 SQL 標準に従い、この文字列はブール型ではなく、YESNO になります。

check_constraints

check_constraints ビューには、CHECK キーワードまたは NOT NULL キーワードのいずれかによって定義されたチェック制約ごとに 1 行が含まれます。

列名 説明
constraint_catalog character varying データベース名。
constraint_schema character varying 制約のスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
constraint_name character varying 制約の名前。制約の名前がスキーマで明示的に指定されていない場合は、自動生成された名前が使用されます。
check_clause character varying チェック制約の式。
spanner_state character varying チェック制約の現在の状態。取り得る状態は次のとおりです。
  • VALIDATING: PostgreSQL 言語データベースは、ALTER CONSTRAINT コマンドまたは ADD CONSTRAINT コマンドに対して既存のデータを検証します。
  • COMMITTED: この制約に有効なスキーマの変更はありません。

column_column_usage

このビューには、同じテーブル内の別のベース列に依存する生成された列がすべて列挙されます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying テーブルを含むスキーマの名前。この名前は、デフォルトのスキーマでは public となり、他のスキーマでは空以外(たとえば information_schema 自体)になります。この列は null にできません。
table_name character varying 生成された列を含むテーブルの名前。
column_name character varying 生成される列が依存するベース列の名前。
dependent_column character varying 生成される列の名前。

column_options

このビューには、外部キー制約の参照先のテーブル列に定義されているすべてのオプションが列挙されます。ビューには、現在のユーザーが(オーナーとして、または特権で)アクセスできる参照テーブルの列だけが含まれます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying 外部テーブルを含むスキーマの名前。この名前は、デフォルトのスキーマでは public となり、他のスキーマでは空以外(たとえば information_schema 自体)になります。この列は null になりません。
table_name character varying 外部テーブルの名前。
column_name character varying 列の名前。
option_name character varying オプションを一意に識別する SQL 識別子。この識別子は、DDL の OPTIONS 句のキーです。
option_value character varying このオプションの値を表す SQL リテラル。この列の値は、クエリの一部として解析可能です。
option_type character varying このオプション値の型であるデータ型の名前。

column_privileges

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

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying この権限が付与されているデータベース ロールの名前。
table_catalog character varying データベース名。
table_schema character varying テーブルまたはビューを含むスキーマの名前。 PostgreSQL 言語データベースの場合、デフォルトは public です。
table_name character varying 列を含むテーブルまたはビューの名前。
column_name character varying 列の名前。
privilege_type character varying 権限のタイプ(SELECTINSERTUPDATE)。
is_grantable character varying 使用されません。常に NO です。

columns

この行でフィルタリングされたビューには、データベース内のすべてのテーブル列とビュー列に関する情報が表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、または public、それらに付与されたきめ細かいアクセス制御特権(または、それらを含むテーブルに付与された SELECT , INSERT または UPDATE の特権)を持つ列のみが表示されます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying テーブルを含むスキーマの名前。この名前は、デフォルトのスキーマでは public となり、他のスキーマでは空以外(たとえば information_schema 自体)になります。この列は null になりません。
table_name character varying テーブルの名前
column_name character varying 列の名前
ordinal_position BIGINT テーブル内での列の位置(1 から始まります)
column_default character varying 列のデフォルト値のオープンソース PostgreSQL 式の文字列表現(例: '9'::bigint)。
is_nullable character varying 列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール型ではなく、YESNO になります。
data_type character varying 列のデータ型。値は次のいずれかです。
  • 組み込み型の場合は、データ型の名前。
  • 配列の場合は、値 ARRAY。
character_maximum_length BIGINT 文字列およびビット文字列データ型の宣言された最大長。最大長が指定されていない場合、値は NULL です。列のデータ型が文字またはビット文字列でない場合、値は NULL になります。
character_octet_length BIGINT 使用されません。値は常に NULL です。
numeric_precision BIGINT 現在の列の数値データ型の有効桁数。double precision の場合、値は 53 です。bigint の場合、値は 64 です。 他のすべてのデータ型の場合、値は NULL です。
numeric_precision_radix BIGINT 数値型の有効桁数の基数(単位)。現時点では 2 つの値のみがサポートされています。
  • double precisionfloat8bigintに2つ
  • numeric に10
他のすべてのデータ型の場合、値はNULLです。
numeric_scale BIGINT 数値列型のスケール(基数点以降の精度の基本単位の数)。bigint の場合、値は 0 です。 他のすべてのデータ型の場合、値は NULL です。
datetime_precision BIGINT 使用されません。値は常に NULL です。
interval_type character varying 使用されません。値は常に NULL です。
interval_precision BIGINT 使用されません。値は常に NULL です。
character_set_catalog character varying 使用されません。値は常に NULL です。
character_set_schema character varying 使用されません。値は常に NULL です。
character_set_name character varying 使用されません。値は常に NULL です。
collation_catalog character varying 使用されません。値は常に NULL です。
collation_schema character varying 使用されません。値は常に NULL です。
collation_name character varying 使用されません。値は常に NULL です。
domain_catalog character varying 使用されません。値は常に NULL です。
domain_schema character varying 使用されません。値は常に NULL です。
domain_name character varying 使用されません。値は常に NULL です。
udt_catalog character varying 使用されません。値は常に NULL です。
udt_schema character varying 使用されません。値は常に NULL です。
udt_name character varying 使用されません。値は常に NULL です。
scope_catalog character varying 使用されません。値は常に NULL です。
scope_schema character varying 使用されません。値は常に NULL です。
scope_name character varying 使用されません。値は常に NULL です。
maximum_cardinality BIGINT 使用されません。値は常に NULL です。
dtd_identifier character varying 使用されません。値は常に NULL です。
is_self_referencing character varying 使用されません。値は常に NULL です。
is_identity character varying 使用されません。値は常に NULL です。
identity_generation character varying 使用されません。値は常に NULL です。
identity_start character varying 使用されません。値は常に NULL です。
identity_increment character varying 使用されません。値は常に NULL です。
identity_maximum character varying 使用されません。値は常に NULL です。
identity_minimum character varying 使用されません。値は常に NULL です。
identity_cycle character varying 使用されません。値は常に NULL です。
is_generated character varying 列が生成されるかどうかを示す文字列。文字列は、生成された列の場合は ALWAYS、生成されていない列の場合は NEVER になります。
generation_expression character varying 生成された列の SQL 式を表す文字列。列が生成された列でない場合は NULL になります。
is_updatable character varying 使用されません。値は常に NULL です。
spanner_type character varying 列の DDL 互換型を保持する文字列。
is_stored character varying 生成された列が格納されているかどうかを示す文字列。生成された列の場合、文字列は常に YES または NO で、生成されていない列の場合は NULL になります。
spanner_state character varying 列の現在の状態。新しく保存された生成列が既存のテーブルに追加されると、完全に使用可能になる前に、ユーザーがモニタリング可能な複数の状態を経由する場合があります。有効な値は次のとおりです。
  • NO_WRITE: 列への読み取りや書き込みはできません。この状態で保存された生成列を使用しても、クライアントには影響がありません。
  • WRITE_ONLY: 列はバックフィルされます。読み取りはできません。
  • COMMITTED: この列はすべて使用できます。
  • NULL: システム スキーマ内の列に使用されます。

constraint_column_usage

このビューには、制約で使用される列ごとに関連する 1 つの行が表示されます。

  • NOT NULL キーワードで定義された PRIMARY KEY 制約と CHECK 制約の場合、ビューにこれらの列が含まれます。
  • CHECK キーワードで作成された CHECK 制約の場合、ビューにチェック制約式で使用される列が含まれます。
  • 外部キー制約の場合、ビューに参照先テーブルの列が含まれます。
  • UNIQUE 制約の場合、ビューに KEY_COLUMN_USAGE の列が含まれます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying 制約で使用される列を含むテーブルが含まれるスキーマの名前。
table_name character varying 制約で使用される列を含むテーブルの名前。
column_name character varying 制約によって使用される列の名前。
constraint_catalog character varying データベース名。
constraint_schema character varying 制約のスキーマ名。
constraint_name character varying 制約の名前。

constraint_table_usage

このビューには、制約で使用されるテーブルごとに 1 つの行が含まれます。FOREIGN KEY 制約の場合、テーブル情報は REFERENCES 句内のテーブルに関するものです。一意の制約または主キー制約の場合、このビューによって制約が属するテーブルが識別されます。このビューに、チェック制約と null 以外の制約は含まれません。

列名 説明
table_catalog character varying データベース名。
table_schema character varying 制約付きテーブルのスキーマ名。
table_name character varying 一部の制約で使用されるテーブルの名前。
constraint_catalog character varying データベース名。
constraint_schema character varying 制約を含むスキーマの名前。
constraint_name character varying 制約の名前。

database_options

このテーブルには、データベースに設定されているオプションが一覧表示されます。

列名 説明
catalog_name character varying データベース名。
schema_name character varying スキーマ名。PostgreSQL 言語データベースの場合、デフォルト値はpublicです。
option_name character varying データベース オプションの名前。これは、DDL の OPTIONS 句の key の値です。
option_type character varying データベース オプションのデータ型。
option_value character varying データベース オプションの値。

enabled_roles

この行でフィルタされたビューには、定義されたデータベース ロールが一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システムロールへのアクセス権を付与されているプリンシパル、またはそのロールのメンバーは、すべてのデータベース ロールを表示できます。他のすべてのプリンシパルは、直接または継承によってアクセス権が付与されているデータベース ロールのみを表示できます。このビューには、public を除くすべてのシステムロールも表示されます。

列名 説明
role_name character varying ロールの名前。
spanner_is_system character varying YES(データベース ロールがシステムロールの場合)。それ以外の場合は NO

index_columns

このビューには、インデックス内の列が一覧表示されます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying インデックスを含むスキーマの名前。デフォルト値は public です。
table_name character varying インデックスに関連付けられているテーブルの名前。
index_name character varying インデックスの名前。PRIMARY KEY 仕様のテーブルには、PRIMARY_KEY という名前で生成される疑似インデックス エントリがあります。
index_type character varying インデックスの種類。指定可能な値は PRIMARY_KEY LOCALまたは GLOBAL です。
column_name character varying 列の名前。
ordinal_position BIGINT 1 の値で始まるインデックス(またはプライマリキー)の列の順序位置。この値は、キーのない列(たとえば、インデックスの INCLUDEで指定された列など)では NULL となります。
column_ordering character varying 列の並べ替え順。この値はキー列では ASCDESC となり、キーのない列(たとえば、インデックスの STORING 句で指定された列など)では NULL となります。
is_nullable character varying 列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール値ではなく、YESNO になります。
spanner_type character varying 列の DDL 互換型を保持する文字列。

indexes

このビューには、スキーマ内のインデックスが列挙されます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying スキーマ名。デフォルト値は public です。
table_name character varying テーブルの名前。
index_name character varying インデックスの名前。PRIMARY KEY 句を使用して作成されたテーブルには、PRIMARY_KEY という名前で生成される疑似インデックス エントリがあり、主キーのフィールドを識別可能にします。
index_type character varying インデックスのデータ型。値には PRIMARY_KEYLOCALGLOBAL があります。
parent_table_name character varying セカンダリ インデックスは、セカンダリ インデックスの作成に説明されているとおり、親テーブルにインターリーブされます。この列は親テーブルの名前を保持するか、インデックスがインターリーブされない場合は空の文字列となります。
is_unique character varying インデックス キーが固有のものでなければならないかどうかを示します。SQL 標準に従い、この文字列はブール値ではなく、YESNO になります。
is_null_filtered character varying インデックスに NULL 値のエントリが含まれるかどうかを示します。SQL 標準に従い、この文字列はブール値ではなく、YESNO になります。
index_state character varying インデックスの現在の状態。有効な値と状態は以下のとおりです。
  • NULL: インデックスのタイプは PRIMARY_KEY です
  • PREPARE: 新しいインデックスに空のテーブルを作成します。
  • WRITE_ONLY: 新しいインデックスにデータを埋め戻します
  • WRITE_ONLY_CLEANUP: 新しいインデックスのクリーンアップを行います
  • WRITE_ONLY_VALIDATE_UNIQUE: 新しインデックス データの固有性を確認します
  • READ_WRITE: 通常のインデックス オペレーション
spanner_is_managed character varying インデックスが Spanner によって管理されているかどうか。たとえば、外部キーの 2 番目のバックアップ インデックスは、Spanner によって管理されます。SQL 標準に従い、この文字列はブール値ではなく、YESNO になります。

information_schema_catalog_name

このテーブルには、1 つの行と、データベース名を含む 1 つの列があります。

列名 説明
catalog_name character varying データベース名。

key_column_usage

このビューによって、一意キー制約、主キー制約、または外部キー制約によって参照される現在のデータベース内のすべての列が識別されます。CHECK 制約列の詳細については、check_constraints ビューをご覧ください。

列名 説明
constraint_catalog character varying データベース名。
constraint_schema character varying 制約のスキーマ名。デフォルト値は public です。
constraint_name character varying 制約の名前。
table_catalog character varying データベース名。
table_schema character varying 制約付きの列があるテーブルを含むスキーマの名前。デフォルト値は public です。
table_name character varying この制約によって制限される列を含むテーブルの名前。
column_name character varying 制限される列の名前。
ordinal_position BIGINT 制約のキー内での列の位置(1 値で始まり)。
position_in_unique_constraint BIGINT FOREIGN KEY の場合、一意の制約内での列の位置(1 値で始まり)。他の制約タイプの場合、この列には NULL の値があります。

parameters

この行でフィルタされたビューには、各変更ストリーム読み取り関数の引数が定義されています。各行は、1 つの変更ストリーム読み取り関数の 1 つの引数を記述します。

データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、またはpublic、きめ細かいEXECUTEアクセス制御特権が付与されている変更ストリーム読み取り機能のパラメータのみを見ることができます。

列名 説明
specific_catalog character varying データベース名。
specific_schema character varying ルーティンのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
specific_name character varying ルーティンの名前。名前がオーバーロードされている場合でも、ルーティンを一意に識別します。
ordinal_position bigint ルーティンの引数リスト内のパラメータの順序位置(1 から始まる値)。
parameter_mode character varying 使用されません。常に NULL です。
is_result character varying 使用されません。常に NULL です。
as_locator character varying 使用されません。常に NULL です。
parameter_name character varying パラメータの名前。
data_type character varying パラメータのデータタイプ。 値は次のいずれかです。
  • 組み込み型の場合は、データ型の名前。
  • 配列の場合は、値 ARRAY
character_maximum_length bigint 使用されません。常に NULL です。
character_octet_length bigint 使用されません。値は常に NULL です。
character_set_catalog character varying 使用されません。値は常に NULL です。
character_set_schema character varying 使用されません。値は常に NULL です。
character_set_name character varying 使用されません。値は常に NULL です。
collation_catalog character varying 使用されません。値は常に NULL です。
collation_schema character varying 使用されません。値は常に NULL です。
collation_name character varying 使用されません。値は常に NULL です。
numeric_precision bigint 使用されません。値は常に NULL です。
numeric_precision_radix bigint 使用されません。値は常に NULL です。
numeric_scale bigint 使用されません。値は常に NULL です。
datetime_precision bigint 使用されません。値は常に NULL です。
interval_type character varying 使用されません。値は常に NULL です。
interval_precision bigint 使用されません。値は常に NULL です。
udt_catalog character varying 使用されません。値は常に NULL です。
udt_schema character varying 使用されません。値は常に NULL です。
udt_name character varying 使用されません。値は常に NULL です。
scope_catalog character varying 使用されません。値は常に NULL です。
scope_schema character varying 使用されません。値は常に NULL です。
scope_name character varying 使用されません。値は常に NULL です。
maximum_cardinality bigint 使用されません。値は常に NULL です。
dtd_identifier character varying 使用されません。値は常に NULL です。
parameter_default character varying 使用されません。値は常に NULL です。

referential_constraints

このビューには、FOREIGN KEY 制約ごとに関連する 1 つの行が表示されます。参照しているテーブルへの書き込みアクセス権がある制約のみを確認できます。このビューでは、外部キーが制約の適用と参照操作に使用する、参照先テーブルの PRIMARY KEY 制約と UNIQUE 制約も識別されます。

列名 説明
constraint_catalog character varying データベース名。
constraint_schema character varying 外部キー制約を含むスキーマの名前。デフォルト値は public です。
constraint_name character varying 外部キー制約の名前。
unique_constraint_catalog character varying データベース名。
unique_constraint_schema character varying 外部キー制約が参照する一意または主キーの制約を含むスキーマの名前。
unique_constraint_name character varying 外部キー制約が参照する一意または主キーの制約の名前。
match_option character varying 外部キー制約で使用される一致メソッド。値は常に NONE です。
update_rule character varying 外部キー制約の更新ルール。この値は常に NO ACTION です。
delete_rule character varying 外部キー制約の削除ルール。この値は、CASCADE または NO ACTION のいずれかです。
spanner_state character varying 外部キーの現在の状態。Spanner は、外部キーのバックアップ インデックスが作成されてバックフィルされるまで、制約の適用を開始しません。インデックスの準備ができると、Spanner は既存のデータの検証中に新しいトランザクションの制約の適用を開始します。有効な値と状態は以下のとおりです。
  • BACKFILLING_INDEXES: インデックスはバックフィル中です。
  • VALIDATING_DATA: 既存のデータと新しい書き込みの検証中です。
  • WAITING_FOR_COMMIT: 外部キーの一括操作が正常に完了したか、操作は必要なかったものの外部キーがまだ保留中の状態です。
  • COMMITTED: スキーマの変更が commit されました。

role_change_stream_grants

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying この権限が付与されているデータベース ロールの名前。
change_stream_catalog character varying データベース名。
change_stream_schema character varying 変更ストリームを含むスキーマの名前。PostgreSQL 言語データベースの場合、デフォルトは public です。
change_stream_name character varying 変更ストリームの名前。
privilege_type character varying 権限のタイプ(SELECT のみ)。
is_grantable character varying 使用されません。常に NO です。

role_column_grants

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

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying この権限が付与されているデータベース ロールの名前。
table_catalog character varying データベース名。
table_schema character varying テーブルまたはビューを含むスキーマの名前。 PostgreSQL 言語データベースの場合、デフォルトは public です。
table_name character varying 列を含むテーブルまたはビューの名前。
column_name character varying 列の名前。
privilege_type character varying 権限のタイプ(SELECTINSERTUPDATE)。
is_grantable character varying 使用されません。常に NO です。

role_routine_grants

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying 権限が付与されたロールの名前。
specific_catalog character varying データベース名。
specific_schema character varying ルーティンのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
specific_name character varying ルーティンの名前。名前がオーバーロードされている場合でも、ルーティンを一意に識別します。
routine_catalog character varying データベース名。
routine_schema character varying ルーティンのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは「public」です。
routine_name character varying ルーティンの名前(オーバーロードの場合、重複することがあります)。
privilege_type character varying 付与される権限のタイプ。常に EXECUTE です。
is_grantable character varying 使用されません。常に NO です。

role_table_grants

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying この権限が付与されているデータベース ロールの名前。
table_catalog character varying データベース名。
table_schema character varying テーブルまたはビューを含むスキーマの名前。 PostgreSQL 言語データベースの場合、デフォルトはpublicです。
table_name character varying テーブルまたはビューの名前。
privilege_type character varying 権限のタイプ(SELECTINSERTUPDATEDELETE)。
is_grantable character varying 使用されません。常に NO です。
with_hierarchy character varying 使用されません。常に NULL です。

routine_options

この行でフィルタされたビューには、定義された変更ストリーム読み取り関数ごとに 1 つの行が表示されます。

データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、またはpublic、きめ細かいEXECUTEアクセス制御特権が付与されている変更ストリーム読み取り機能のオプションのみを見ることができます。

列名 説明
specific_catalog character varying データベース名。
specific_schema character varying ルーティンのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは「public」です。
specific_name character varying ルーティンの名前。名前がオーバーロードされている場合でも、ルーティンを一意に識別します。
option_name character varying オプションの名前。
option_type character varying オプションのデータ型値は次のいずれかです。
  • 組み込み型の場合は、データ型の名前。
  • 配列の場合は、値 ARRAY
option_value character varying オプションの値。

routine_privileges

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying 権限が付与されたロールの名前。
specific_catalog character varying データベース名。
specific_schema character varying ルーティンのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
specific_name character varying ルーティンの名前。名前がオーバーロードされている場合でも、ルーティンを一意に識別します。
routine_catalog character varying データベース名。
routine_schema character varying ルーティンのスキーマ名。デフォルト値は public です。
routine_name character varying ルーティンの名前(過負荷になると重複する可能性があります)。
privilege_type character varying 付与される権限のタイプ。
is_grantable character varying 使用されません。常に NO です。

routines

この行でフィルタされたビューには、データベースの変更ストリーム読み取り関数すべてが一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベースロール、現在のデータベースロールがメンバーであるロール、またはpublic、きめ細かいEXECUTEアクセス制御特権が付与されている変更ストリーム読み取り機能のみを見ることができます。

列名 説明
specific_catalog character varying データベース名。
specific_schema character varying ルーティンのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは「public」です。
specific_name character varying ルーティンの名前。名前がオーバーロードされている場合でも、ルーティンを一意に識別します。
routine_catalog character varying データベース名。
routine_schema character varying ルーティンのスキーマ名。
routine_name character varying ルーティンの名前(オーバーロードの場合、重複することがあります)。
routine_type character varying ルーティンのタイプ(FUNCTION または PROCEDURE)。常に FUNCTION
module_catalog character varying 使用されません。値は常に NULL です。
module_schema character varying 使用されません。値は常に NULL です。
module_name character varying 使用されません。値は常に NULL です。
udt_catalog character varying 使用されません。値は常に NULL です。
udt_schema character varying 使用されません。値は常に NULL です。
udt_name character varying 使用されません。値は常に NULL です。
data_type character varying ルーティンの戻り値の型。値は次のいずれかです。
  • 組み込み型の場合は、データ型の名前。
  • 配列の場合は、値 ARRAY
character_maximum_length bigint 使用されません。値は常に NULL です。
character_octet_length bigint 使用されません。値は常に NULL です。
character_set_catalog character varying 使用されません。値は常に NULL です。
character_set_schema character varying 使用されません。値は常に NULL です。
character_set_name character varying 使用されません。値は常に NULL です。
collation_catalog character varying 使用されません。値は常に NULL です。
collation_schema character varying 使用されません。値は常に NULL です。
collation_name character varying 使用されません。値は常に NULL です。
numeric_precision/td> bigint 使用されません。値は常に NULL です。
numeric_precision_radix bigint 使用されません。値は常に NULL です。
numeric_scale bigint 使用されません。値は常に NULL です。
datetime_precision bigint 使用されません。値は常に NULL です。
interval_type character varying 使用されません。値は常に NULL です。
interval_precision bigint 使用されません。値は常に NULL です。
type_udt_catalog character varying 使用されません。値は常に NULL です。
type_udt_schema character varying 使用されません。値は常に NULL です。
type_udt_name character varying 使用されません。値は常に NULL です。
scope_catalog character varying 使用されません。値は常に NULL です。
scope_schema character varying 使用されません。値は常に NULL です。
scope_name character varying 使用されません。値は常に NULL です。
maximum_cardinality bigint 使用されません。値は常に NULL です。
dtd_identifier character varying 使用されません。値は常に NULL です。
routine_body character varying ルーティン本文のタイプ(SQL または EXTERNAL)。
routine_definition character varying routine_body SQL の定義。それ以外の場合は空。
external_name character varying 使用されません。値は常に NULL です。
external_language character varying 使用されません。値は常に NULL です。
parameter_style character varying 使用されません。値は常に NULL です。
is_deterministic character varying 使用されません。値は常に NULL です。
sql_data_access character varying 使用されません。値は常に NULL です。
is_null_call character varying 使用されません。値は常に NULL です。
sql_path character varying 使用されません。値は常に NULL です。
schema_level_routine character varying 使用されません。値は常に NULL です。
max_dynamic_result_sets character varying 使用されません。値は常に NULL です。
is_user_defined_cast character varying 使用されません。値は常に NULL です。
is_implicitly_invocable character varying 使用されません。値は常に NULL です。
security_type character varying ルーティンのセキュリティ タイプ。現在のところ、INVOKER のみです。
to_sql_specific_catalog character varying 使用されません。値は常に NULL です。
to_sql_specific_schema character varying 使用されません。値は常に NULL です。
to_sql_specific_name character varying 使用されません。値は常に NULL です。
as_locator character varying 使用されません。値は常に NULL です。
created timestamp with time zone 使用されません。値は常に NULL です。
last_altered timestamp with time zone 使用されません。値は常に NULL です。
new_savepoint_level character varying 使用されません。値は常に NULL です。
is_udt_dependent character varying 使用されません。値は常に NULL です。
result_cast_from_data_type character varying 使用されません。値は常に NULL です。
result_cast_as_locator character varying 使用されません。値は常に NULL です。
result_cast_char_max_length bigint 使用されません。値は常に NULL です。
result_cast_char_octet_length bigint 使用されません。値は常に NULL です。
result_cast_char_set_catalog character varying 使用されません。値は常に NULL です。
result_cast_char_set_schema character varying 使用されません。値は常に NULL です。
result_cast_char_set_name character varying 使用されません。値は常に NULL です。
result_cast_collation_catalog character varying 使用されません。値は常に NULL です。
result_cast_collation_schema character varying 使用されません。値は常に NULL です。
result_cast_collation_name character varying 使用されません。値は常に NULL です。
result_cast_numeric_precision bigint 使用されません。値は常に NULL です。
result_cast_numeric_precision_radix bigint 使用されません。値は常に NULL です。
result_cast_numeric_scale bigint 使用されません。値は常に NULL です。
result_cast_datetime_precision bigint 使用されません。値は常に NULL です。
result_cast_interval_type character varying 使用されません。値は常に NULL です。
result_cast_interval_precision bigint 使用されません。値は常に NULL です。
result_cast_type_udt_catalog character varying 使用されません。値は常に NULL です。
result_cast_type_udt_schema character varying 使用されません。値は常に NULL です。
result_cast_type_udt_name character varying 使用されません。値は常に NULL です。
result_cast_scope_catalog character varying 使用されません。値は常に NULL です。
result_cast_scope_schema character varying 使用されません。値は常に NULL です。
result_cast_scope_name character varying 使用されません。値は常に NULL です。
result_cast_maximum_cardinality bigint 使用されません。値は常に NULL です。
result_cast_dtd_identifier character varying 使用されません。値は常に NULL です。

schemata

information_schema.schemata ビューには、現在のデータベースのスキーマごとに 1 行が含まれます。スキーマには、情報スキーマと public という名前のデフォルト スキーマが含まれます。

列名 説明
catalog_name character varying データベース名。
schema_name character varying スキーマ名。デフォルト スキーマの場合はpublicに設定され、名前付きスキーマの場合は空以外になります。
schema_owner character varying スキーマのオーナー名。
default_character_set_catalog character varying 使用されません。
default_character_set_schema character varying 使用されません。
default_character_set_name character varying 使用されません。
sql_path character varying 使用されません。
effective_timestamp timestamp with timezone このスキーマ内のすべてのデータが有効になったタイムスタンプ。現在、これはデフォルト スキーマでのみ使用されます。

sequences

information_schema.sequences ビューには sequences メタデータが含まれます。

列名 説明
sequence_catalog character varying データベース名。
sequence_schema character varying シーケンスのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。
sequence_name character varying シーケンスの名前。
data_type character varying Sequence は int8 のみをサポートします。
numeric_precision bigint 現在は使用されていません。値は常に「NULL」です。
numeric_precision_radix bigint 現在は使用されていません。値は常に「NULL」です。
numeric_scale bigint 現在は使用されていません。値は常に「NULL」です。
start_value bigint 現在は使用されていません。値は常に「NULL」です。
minimum_value bigint 現在は使用されていません。値は常に「NULL」です。
maximum_value bigint 現在は使用されていません。値は常に「NULL」です。
increment bigint 現在は使用されていません。値は常に「NULL」です。
cycle_option character varying sequence で使用できるオプションは no のみです。
sequence_kind character varying シーケンスの種類。許容される値は bit_reversed_positive のみです。
counter_start_value bigint シーケンス カウンタの開始値。
skip_range_min bigint スキップされた範囲の最小値。設定されていない場合、この値は NULL です。
skip_range_max bigint スキップされた範囲の最大値。設定されていない場合、この値は NULL です。

spanner_statistics

このテーブルには、使用可能なクエリ オプティマイザーの統計情報パッケージが一覧表示されます。

列名 説明
catalog_name character varying データベース名。
schema_name character varying スキーマ名。デフォルトのスキーマ値は public です。
package_name character varying 統計パッケージの名前。
allow_gc character varying 統計情報パッケージがガベージ コレクションから除外されているかどうか。SQL 標準に従い、この文字列はブール値ではなく、YESNO になります。この属性は、ヒントまたはクライアント API で統計パッケージを参照する前に、NO に設定する必要があります。

table_constraints

このビューには、現在のユーザーがアクセスできるテーブルに属するすべての制約(SELECT を除く)が含まれます。

列名 説明
constraint_catalog character varying データベース名。
constraint_schema character varying 制約を含むスキーマの名前。
constraint_name character varying 制約の名前。
table_catalog character varying データベース名。
table_schema character varying 制約に関連付けられたテーブルを含むスキーマの名前。
table_name character varying テーブルの名前。
constraint_type character varying 制約の種類。有効な値は次のとおりです。
  • CHECK
  • FOREIGN KEY
  • PRIMARY KEY
  • UNIQUE
is_deferrable character varying 値は常に NO です。
initially_deferred character varying 値は常に NO です。
enforced character varying 制約が適用されているかどうか。制約が適用されると(特定の状態に達した後)、書き込み時とバックグラウンド整合性検証の両方で検証されます。SQL 標準に従い、この文字列はブール値ではなく、YESNO になります。

table_privileges

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

列名 説明
grantor character varying 使用されません。常に NULL です。
grantee character varying この権限が付与されているデータベース ロールの名前。
table_catalog character varying データベース名。
table_schema character varying テーブルまたはビューを含むスキーマの名前。 PostgreSQL 言語データベースの場合、デフォルトは public です。
table_name character varying テーブルまたはビューの名前。
privilege_type character varying 権限のタイプ(SELECTINSERTUPDATEDELETE)。
is_grantable character varying 使用されません。常に NO です。
that have_hierarchy character varying 使用されません。常に NULL です。

tables

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

  • SELECTINSERTUPDATE、または DELETE のきめ細かいアクセス制御権限は、現在のデータベース ロールがメンバーであるロール、または publicに対するテーブルに付与されます。
  • SELECTINSERTUPDATE のいずれかの権限が、現在のデータベース ロール、または現在のデータベース ロールがメンバーであるロール、または public に対するテーブルの任意の列に付与されます。

列名 説明
table_catalog character varying データベース名。
table_schema character varying テーブルまたはビューを含むスキーマの名前。
table_name character varying テーブル、ビュー、または類義語の名前。
table_type character varying テーブルの種類。有効な値は、「BASE TABLE」、「VIEW」、または「SYNONYM」です。
self_referencing_column_name character varying 使用されません。
reference_generation character varying 使用されません。
user_defined_type_catalog character varying 使用されません。
user_defined_type_schema character varying 使用されません。
user_defined_type_name character varying 使用されません。
is_insertable_into character varying 使用されません。
is_typed character varying 使用されません。
commit_action character varying 使用されません。
parent_table_name character varying このテーブルはインターリーブされた場合は親テーブルの名前、または NULL となります。
on_delete_action character varying インターリーブされたテーブルの場合は CASCADE または NO ACTION、それ以外の場合は NULL に設定されます。詳細については、TABLE ステートメントをご覧ください。
spanner_state character varying テーブルの現在の作成状態。
一括オペレーションが使用されている場合(たとえば、参照インデックスのバックフィルを必要とする外部キーでテーブルが作成された場合)は、作成中にテーブルが複数の状態を経由する可能性があります。有効な状態は次のとおりです。
  • ADDING_FOREIGN_KEY: テーブルの外部キーを追加しています
  • WAITING_FOR_COMMIT: スキーマの変更を確定しています
  • COMMITTED: テーブルを作成するためのスキーマの変更が commit されました。変更が commit されるまで、テーブルに書き込むことはできません。
  • NULL: ベーステーブル以外のテーブルまたはビュー。
interleave_type character varying このテーブルとインターリーブされたテーブルの間に親子関係が存在するかどうか。有効な値は次のとおりです。
  • IN: 親子関係のない INTERLEAVE IN テーブル。このテーブルの行は、親テーブルの行の存在に関係なく存在できます。
  • IN PARENT: 親子関係を持つ INTERLEAVE IN PARENT テーブル。このテーブルの行には、親テーブルの行が存在する必要があります。
row_deletion_policy_expression character varying ROW DELETION POLICY を定義する式テキストを含む文字列。

table_synonyms

このテーブルには、テーブルの類義語情報が一覧表示されます。

列名 説明
CATALOG STRING テーブルを含むカタログの名前。
SCHEMA STRING テーブルを含むスキーマの名前。
TABLE_NAME STRING テーブルの名前。
SYNONYM_CATALOG STRING 類義語のカタログ名。
SYNONYM_SCHEMA STRING 類義語のスキーマの名前。
SYNONYM_TABLE_NAME STRING 類義語のテーブルの名前。

views

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

列名 説明
table_catalog character varying データベース名。
table_schema character varying スキーマ名。デフォルト値は public です。
table_name character varying ビュー名。
view_definition character varying ビューを定義するクエリの SQL テキスト。
check_option character varying 使用されません。
is_updatable character varying 使用されません。
is_insertable_into character varying 使用されません。
is_trigger_updatable character varying 使用されません。
is_trigger_deletable character varying 使用されません。
is_trigger_insertable_into character varying 使用されません。
security_type character varying ビューのセキュリティ タイプ。INVOKER または DEFINER のいずれか。

詳細については、ビューについてをご覧ください。

デフォルトのスキーマでの各テーブルに関する情報を返します。

SELECT
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

PostgreSQL 言語データベースの information_schema 内にあるすべてのテーブルとビューの名前を返します。

SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"

ユーザー テーブル my_table の列に関する情報を返します。

SELECT
  t.ordinal_position,
  t.column_name,
  t.data_type,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_schema = 'public'
  AND
  t.table_name = 'my_table'
ORDER BY
  t.ordinal_position

現在のデータベースのデフォルト スキーマの各インデックスに関する情報を返します。

SELECT
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_schema = 'public'
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  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_schema = 'public'
ORDER BY
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_name

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

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name='public'
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

使用可能なすべての統計情報パッケージを返します。

SELECT *
FROM information_schema.spanner_statistics;

次のステップ