情報スキーマは、すべての PostgreSQL データベースに共通する組み込みスキーマです。データベースのスキーマ メタデータをフェッチするために information_schema
にあるテーブルで SQL クエリを実行できます。
たとえば、以下のクエリはデータベース内のすべてのユーザー定義テーブルの名前をフェッチします。
SELECT
table_name
FROM
information_schema.tables
WHERE
table_schema = 'public'
用途
information_schema
テーブルは SQL インターフェースを介してのみ利用できます。例:executeQuery
APIgcloud spanner databases execute-sql
コマンド- Google Cloud コンソールのデータベースの [クエリ] ページ。
他の単一読み取りメソッドは、
information_schema
をサポートしていません。
information_schema
に対するクエリでは、タイムスタンプ バウンド(強力、バウンド ステイルネス、正確なステイルネスの 3 種類)を使用できます。- GoogleSQL 言語データベースを使用している場合は、GoogleSQL 言語データベースの情報スキーマをご覧ください。
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_options
、index_columns
、indexes
、spanner_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
システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または public
に SELECT
権限が付与されている変更ストリームの行のみを見ることができます。
列名 | 型 | 説明 |
---|---|---|
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
システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または public
に SELECT
権限が付与されている変更ストリームのオプション
のみを見ることができます。
列名 | 型 | 説明 |
---|---|---|
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
システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または public
に SELECT
権限が付与されている変更ストリームの行のみを見ることができます。
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 標準に従い、この文字列はブール型ではなく、YES か NO になります。 |
change_streams
この行でフィルタリングされたビューでは、データベースの変更ストリームをすべて列挙し、特定のテーブルまたは列に対してデータベース全体を追跡するものを示します。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader
システム・ロールまたはそのロールのメンバーへのアクセス権を付与されたプリンシパルは、このビューのすべての行を表示できます。他のすべてのプリンシパルは、現在のデータベース・ロール、現在のデータベース・ロールがメンバーとなっているロール、または public
に SELECT
微細アクセス制御の権限が付与されている変更ストリームのみを見ることができます。
列名 | 型 | 説明 |
---|---|---|
change_stream_catalog |
character varying |
データベース名。 |
change_stream_schema |
character varying |
この変更ストリームのスキーマ名。PostgreSQL 言語データベースの場合、デフォルトは public です。 |
change_stream_name |
character varying |
変更ストリームの名前。 |
all |
character varying |
YES (この変更ストリームがデータベース全体を追跡する場合)。
NO (この変更ストリームで特定のテーブルまたは列を追跡する場合)。
SQL 標準に従い、この文字列はブール型ではなく、YES か NO になります。 |
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 |
チェック制約の現在の状態。取り得る状態は次のとおりです。
|
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
に対する列に付与されている権限のみを表示できます。
ビューには、列が列を含むテーブルまたはビューから継承する SELECT
、INSERT
、UPDATE
の権限が含まれています。
列名 | 型 | 説明 |
---|---|---|
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 |
権限のタイプ(SELECT 、INSERT 、UPDATE )。 |
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 標準に従い、この文字列はブール型ではなく、YES か NO になります。 |
data_type |
character varying |
列のデータ型。値は次のいずれかです。
|
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 つのみです。
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 |
列の現在の状態。新しく保存された生成列が既存のテーブルに追加されると、完全に使用可能になる前に、ユーザーがモニタリング可能な複数の状態を経由する場合があります。有効な値は次のとおりです。
|
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 |
列の並べ替え順。この値はキー列では ASC や DESC となり、キーのない列(たとえば、インデックスの STORING 句で指定された列など)では NULL となります。 |
is_nullable |
character varying |
列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール値ではなく、YES か NO になります。 |
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_KEY 、LOCAL 、GLOBAL があります。 |
parent_table_name |
character varying |
セカンダリ インデックスは、セカンダリ インデックスの作成に説明されているとおり、親テーブルにインターリーブされます。この列は親テーブルの名前を保持するか、インデックスがインターリーブされない場合は空の文字列となります。 |
is_unique |
character varying |
インデックス キーが固有のものでなければならないかどうかを示します。SQL 標準に従い、この文字列はブール値ではなく、YES か NO になります。 |
is_null_filtered |
character varying |
インデックスに NULL 値のエントリが含まれるかどうかを示します。SQL 標準に従い、この文字列はブール値ではなく、YES か NO になります。 |
index_state |
character varying |
インデックスの現在の状態。有効な値と状態は以下のとおりです。
|
spanner_is_managed |
character varying |
インデックスが Spanner によって管理されているかどうか。たとえば、外部キーの 2 番目のバックアップ インデックスは、Spanner によって管理されます。SQL 標準に従い、この文字列はブール値ではなく、YES か NO になります。 |
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 |
パラメータのデータタイプ。
値は次のいずれかです。
|
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 です。 |
placements
次の表は、データベース内のプレースメントを示しています。
列名 | 型 | 説明 |
---|---|---|
placement_name |
character varying |
プレースメントの名前です。 |
is_default |
character varying |
列が Nullable であるかどうかを示す文字列。SQL 標準に従い、この文字列はブール型ではなく、YES か NO になります。 |
placement-options
この表には、プレースメントごとに、CREATE PLACEMENT
ステートメントの OPTIONS
句でプレースメントに設定されているオプションが一覧表示されます。
列名 | 型 | 説明 |
---|---|---|
placement_name |
character varying |
プレースメントの名前です。 |
option_name |
character varying |
プレースメント オプションの名前。option_name の有効な値は次のとおりです。
|
option_type |
character varying |
プレースメント オプションのデータ型。 |
option_value |
character varying |
プレースメント オプションの値。instance_partition の場合、これはインスタンス パーティションの名前です。default_leader の場合、これはデフォルトのリーダー リージョンの名前です。 |
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 は既存のデータの検証中に新しいトランザクションの制約の適用を開始します。有効な値と状態は以下のとおりです。
|
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
を除く)の列に付与されている権限のみが表示されます。
ビューには、列が列を含むテーブルまたはビューから継承する SELECT
、INSERT
、UPDATE
の権限が含まれます。
列名 | 型 | 説明 |
---|---|---|
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 |
権限のタイプ(SELECT 、INSERT 、UPDATE )。 |
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 |
権限のタイプ(SELECT 、INSERT 、UPDATE 、DELETE )。 |
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
|
オプションのデータ型値は次のいずれかです。
|
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 |
ルーティンの戻り値の型。値は次のいずれかです。
|
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 です。 |
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 標準に従い、この文字列はブール値ではなく、YES か NO になります。この属性は、ヒントまたはクライアント 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 |
制約の種類。有効な値は次のとおりです。
|
is_deferrable |
character varying |
値は常に NO です。 |
initially_deferred |
character varying |
値は常に NO です。 |
enforced |
character varying |
制約が適用されているかどうか。制約が適用されると(特定の状態に達した後)、書き込み時とバックグラウンド整合性検証の両方で検証されます。SQL 標準に従い、この文字列はブール値ではなく、YES か NO になります。 |
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 |
権限のタイプ(SELECT 、INSERT 、UPDATE 、DELETE )。 |
is_grantable |
character varying |
使用されません。常に NO です。 |
that have_hierarchy |
character varying |
使用されません。常に NULL です。 |
tables
この行でフィルタされたビューには、現在のデータベース内のすべてのテーブルとビューが一覧表示されます。データベース レベルの IAM 権限を持つプリンシパルと、spanner_info_reader
システムロールへのアクセス権を付与されているプリンシパル、またはそのロールのメンバーは、すべてのテーブルおよびビューを表示できます。他のすべてのプリンシパルは、次のいずれかの要件を満たすテーブルのみを表示できます。
-
SELECT
、INSERT
、UPDATE
、またはDELETE
のきめ細かいアクセス制御権限は、現在のデータベース ロールがメンバーであるロール、またはpublic
に対するテーブルに付与されます。 SELECT
、INSERT
、UPDATE
のいずれかの権限が、現在のデータベース ロール、または現在のデータベース ロールがメンバーであるロール、または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 |
テーブルの現在の作成状態。 一括オペレーションが使用されている場合(たとえば、参照インデックスのバックフィルを必要とする外部キーでテーブルが作成された場合)は、作成中にテーブルが複数の状態を経由する可能性があります。有効な状態は次のとおりです。
|
interleave_type |
character varying |
このテーブルとインターリーブされたテーブルの間に親子関係が存在するかどうか。有効な値は次のとおりです。
|
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
現在のデータベースのデフォルト スキーマの各インデックスに関する情報を返します。 ```sql 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;
次のステップ
- データベースの問題の調査に役立つ、利用可能なイントロスペクション ツールについての学習。