情報スキーマはすべての PostgreSQL データベースに共通する組み込みスキーマです。データベースのスキーマ メタデータを取得するために information_schema にあるテーブルで SQL クエリを実行できます。
たとえば、以下のクエリはデータベース内のすべてのユーザー定義テーブルの名前を取得します。
  SELECT
    table_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'
用途
information_schemaテーブルは SQL インターフェースを介してのみ利用できます。例:executeQueryAPIgcloud 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 の値で始まるインデックス(またはプライマリキー)の列の順序位置。キーのない列の場合、この値は NULL となります(たとえば、インデックスの INCLUDE 句で指定された列など)。 | 
 
column_ordering | 
    character varying | 
     列の並べ替え順。キー列の場合、この値は ASC または DESC となります。キーのない列の場合は NULL となります(たとえば、インデックスの STORING 句で指定された列など)。 | 
 
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 の場合、これはデフォルトのリーダー リージョンの名前です。 | 
 
locality-group-options
このテーブルには、ローカリティ グループごとに、CREATE LOCALITY GROUP ステートメントの OPTIONS 句でローカリティ グループに設定されている名前とオプションが含まれます。
| 列名 | 型 | 説明 | 
|---|---|---|
locality_group_name | 
    character varying | 
    ローカリティ グループの名前。 | 
option_name | 
    character varying | 
    ローカリティ グループ オプションの名前。有効なオプションは次のとおりです。
  | 
 
option_value | 
    character varying | 
    ローカリティ グループ オプションの値。storage の場合は、ssd または hdd。ssd_to_hdd_spill_timespan の場合、これはデータが HDD ストレージに移動される前に SSD に保存される必要のある時間です。たとえば、10d は 10 日間です。設定できる最小時間は 1 時間です。 | 
 
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 | 
    シーケンスは 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_schema,
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
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
現在のデータベースのデフォルト スキーマの各インデックスに関する情報を返します。 ```postgresql 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;
次のステップ
- データベースの問題の調査に役立つイントロスペクション ツールについて学習する。