信息架构是每个 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
的查询可以使用强、有界限过时或精确过时时间戳边界。 - 如果您使用的是 GoogleSQL 方言数据库,请参阅 GoogleSQL 方言数据库的信息架构。
与 PostgreSQL 的 information_schema
的差异
适用于 PostgreSQL 方言数据库的 information_schema
中的表包含适用于开源 PostgreSQL 的 information_schema
中的表中的列,在某些情况下还包含 Spanner 中的列。在这些表中,开源 PostgreSQL 列排在前面,并且与开源 PostgreSQL 数据库中的列排列顺序相同,Spanner 的任何唯一列都会附加在后面。在 Google Cloud CLI 中使用 PostgreSQL 方言数据库时,为开源 PostgreSQL 版本的 information_schema
编写的查询应该可以直接使用,无需修改。
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
此经过行过滤的视图包含有关表格列以及监控这些列的更改流的信息。每行描述一个更改流和一个列。如果更改流跟踪整个表,则该表中的列不会显示在此视图中。
具有数据库级 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
此行过滤视图包含有关表及其监控的变更数据流的信息。每行描述一个表和一个更改流。具有数据库级 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
关键字定义的每个检查限制条件对应的一行。
列名 | 类型 | 说明 |
---|---|---|
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 |
指明列是否可以为 Null 的字符串。根据 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 |
数值类型的精度基数(单位)。仅支持两个值:
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
此视图包含一行有关限制条件使用的每一列的信息。
- 对于由
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
此视图包含一行有关限制条件使用的每一张表的信息。对于 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 |
指明列是否可以为 Null 的字符串。根据 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 管理。例如,外键的二级支持性索引由 Spanner 管理。根据 SQL 标准,字符串可以是 YES 或 NO ,但不能是布尔值。 |
information_schema_catalog_name
此表包含一行和一列,其中包含数据库名称。
列名 | 类型 | 说明 |
---|---|---|
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
此行过滤视图定义了每个更改流读取函数的参数。每行都描述了更改流读取函数的一个参数。
具有数据库级 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 |
指明列是否可以为 Null 的字符串。根据 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
限制条件的信息。您只能看到您对引用表具有写入权限的约束条件。此视图还会标识外键用于执行限制条件和参照操作的被引用表上的 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
此行过滤视图中的每一行对应每个已定义的更改流读取函数的每个选项。
具有数据库级 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
视图中的每一行对应当前数据库中的每个架构。这些架构包括信息架构和一个名为 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 ,但不能是布尔值。您必须先将此属性设置为 NO ,然后才能在提示中或通过客户端 API 引用统计信息软件包。
|
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 。如需了解详情,请参阅表语句。 |
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;
后续步骤
- 了解可用的内省工具以帮助您调查数据库问题。