信息架构是一个内置架构,
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 方言数据库的信息架构。
与 information_schema
for PostgreSQL 的区别
PostgreSQL 方言数据库的 information_schema
中的表包含
information_schema
中的表(适用于开源 PostgreSQL)和
某些场景还包括 Spanner 中的列。在这些表中,开源 PostgreSQL 列排在前面,并且与开源 PostgreSQL 数据库中的列排列顺序相同,Spanner 的任何唯一列都会附加在后面。为
开源 PostgreSQL 版本 information_schema
无需
在 Google Cloud CLI 中使用 PostgreSQL 方言数据库时进行修改。
PostgreSQL 方言数据库的 information_schema
中的其他显著差异包括:
- 下面列出了开源 PostgreSQL 的一些表列, 但不会填充到 PostgreSQL 方言数据库中。
- PostgreSQL 方言数据库使用
public
作为默认架构名称。 - 自动生成的限制条件名称使用的格式与 开源 PostgreSQL 数据库。
- 与非开源 PostgreSQL 功能相关的表 PostgreSQL 方言数据库中支持的 API。
- 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
和视图。
以下部分介绍了 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
系统角色或成员的访问权限
可以查看此视图中的所有行。所有其他主账号只能看到
针对已授予 SELECT
权限的变更数据流的选项
当前数据库角色,以及当前数据库角色所属的角色;
或 public
。
列名 | 类型 | 说明 |
---|---|---|
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
系统角色或该系统角色的成员访问权限
角色可以查看此视图中的所有行。所有其他主账号只能看到以下行
已授予当前 SELECT
权限的变更数据流
数据库角色、当前数据库角色属于该角色的角色,或
public
。
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
系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能看到更改
已针对当前已授予 SELECT
精细访问权限控制权限的数据流
数据库角色、当前数据库角色属于该角色的角色,或
public
。
列名 | 类型 | 说明 |
---|---|---|
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
关键字定义的 check 约束条件。
列名 | 类型 | 说明 |
---|---|---|
constraint_catalog |
character varying |
数据库名称。 |
constraint_schema |
character varying |
限制条件的架构名称。默认值为 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 |
包含该列的表的架构名称 该约束条件使用的资源 ID。 |
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 |
架构的名称。默认值为 public
PostgreSQL 方言数据库。 |
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 |
指明列是否可以为 Null 的字符串。根据
则字符串为 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 管理。通过
字符串是 YES 或 NO ,而不是
符合 SQL 标准的布尔值。 |
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 。 |
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
这个按行过滤的视图列出了针对所有更改授予的 SELECT
权限
流式传输到任何数据库角色,包括 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 。 |
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
这个按行过滤的视图列出了针对所有更改授予的 EXECUTE
权限
将读取函数流式传输到任何数据库角色,包括 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 (适用于 PostgreSQL 方言数据库)。 |
routine_name
|
character varying
|
例程的名称。(如果是 overloading.) |
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 |
包含表或视图的架构的名称。默认值为
public (适用于 PostgreSQL 方言数据库)。 |
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
系统角色或成员的访问权限
可以查看此视图中的所有行。所有其他主账号只能看到
用于变更数据流读取函数的选项,EXECUTE
可针对这些函数的精细访问权限控制
已向当前数据库角色授予当前数据库角色
数据库角色是否为成员或 public
。
列名 | 类型 | 说明 |
---|---|---|
specific_catalog
|
character varying
|
数据库名称。 |
specific_schema
|
character varying
|
例程架构的名称。默认值为
public (适用于 PostgreSQL 方言数据库)。 |
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
系统角色或成员的访问权限
可以查看此视图中的所有行。所有其他主账号只能看到
具有 EXECUTE
精细访问权限控制权限的变更数据流读取函数
授予当前数据库角色,授予当前数据库
角色是否为成员,或者设置为 public
。
列名 | 类型 | 说明 |
---|---|---|
specific_catalog |
character varying |
数据库名称。 |
specific_schema |
character varying |
例程架构的名称。默认值为
public (适用于 PostgreSQL 方言数据库)。 |
specific_name |
character varying |
例程的名称。唯一标识该例程,即使其名称被重载也是如此。 |
routine_catalog |
character varying |
数据库名称。 |
routine_schema |
character varying |
例程的架构名称。 |
routine_name |
character varying |
例程的名称。(如果是 overloading.) |
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 /td>
| bigint |
未使用。值始终为 NULL 。 |
numeric_precision_radix |
bigint |
未使用。值始终为 NULL 。 |
numeric_scale |
bigint |
未使用。值始终为 NULL 。 |
datetime_precision |
bigint |
未使用。值始终为 NULL 。 |
interval_type |
character varying |
未使用。值始终为 NULL 。 |
interval_precision |
bigint |
未使用。值始终为 NULL 。 |
type_udt_catalog |
character varying |
未使用。值始终为 NULL 。 |
type_udt_schema |
character varying |
未使用。值始终为 NULL 。 |
type_udt_name |
character varying |
未使用。值始终为 NULL 。 |
scope_catalog |
character varying |
未使用。值始终为 NULL 。 |
scope_schema |
character varying |
未使用。值始终为 NULL 。 |
scope_name |
character varying |
未使用。值始终为 NULL 。 |
maximum_cardinality |
bigint |
未使用。值始终为 NULL 。 |
dtd_identifier |
character varying |
未使用。值始终为 NULL 。 |
routine_body |
character varying |
例程正文的类型(SQL 或
EXTERNAL )。 |
routine_definition |
character varying |
routine_body SQL 的定义,否则为空。 |
external_name |
character varying |
未使用。值始终为 NULL 。 |
external_language |
character varying |
未使用。值始终为 NULL 。 |
parameter_style |
character varying |
未使用。值始终为 NULL 。 |
is_deterministic |
character varying |
未使用。值始终为 NULL 。 |
sql_data_access |
character varying |
未使用。值始终为 NULL 。 |
is_null_call |
character varying |
未使用。值始终为 NULL 。 |
sql_path |
character varying |
未使用。值始终为 NULL 。 |
schema_level_routine |
character varying |
未使用。值始终为 NULL 。 |
max_dynamic_result_sets |
character varying |
未使用。值始终为 NULL 。 |
is_user_defined_cast |
character varying |
未使用。值始终为 NULL 。 |
is_implicitly_invocable |
character varying |
未使用。值始终为 NULL 。 |
security_type |
character varying |
例程的安全类型。目前只有 INVOKER 。 |
to_sql_specific_catalog |
character varying |
未使用。值始终为 NULL 。 |
to_sql_specific_schema |
character varying |
未使用。值始终为 NULL 。 |
to_sql_specific_name |
character varying |
未使用。值始终为 NULL 。 |
as_locator |
character varying |
未使用。值始终为 NULL 。 |
created |
timestamp with time zone |
未使用。值始终为 NULL 。 |
last_altered |
timestamp with time zone |
未使用。值始终为 NULL 。 |
new_savepoint_level |
character varying |
未使用。值始终为 NULL 。 |
is_udt_dependent |
character varying |
未使用。值始终为 NULL 。 |
result_cast_from_data_type |
character varying |
未使用。值始终为 NULL 。 |
result_cast_as_locator |
character varying |
未使用。值始终为 NULL 。 |
result_cast_char_max_length |
bigint |
未使用。值始终为 NULL 。 |
result_cast_char_octet_length |
bigint |
未使用。值始终为 NULL 。 |
result_cast_char_set_catalog |
character varying |
未使用。值始终为 NULL 。 |
result_cast_char_set_schema |
character varying |
未使用。值始终为 NULL 。 |
result_cast_char_set_name |
character varying |
未使用。值始终为 NULL 。 |
result_cast_collation_catalog |
character varying |
未使用。值始终为 NULL 。 |
result_cast_collation_schema |
character varying |
未使用。值始终为 NULL 。 |
result_cast_collation_name |
character varying |
未使用。值始终为 NULL 。 |
result_cast_numeric_precision |
bigint |
未使用。值始终为 NULL 。 |
result_cast_numeric_precision_radix |
bigint |
未使用。值始终为 NULL 。 |
result_cast_numeric_scale |
bigint |
未使用。值始终为 NULL 。 |
result_cast_datetime_precision |
bigint |
未使用。值始终为 NULL 。 |
result_cast_interval_type |
character varying |
未使用。值始终为 NULL 。 |
result_cast_interval_precision |
bigint |
未使用。值始终为 NULL 。 |
result_cast_type_udt_catalog |
character varying |
未使用。值始终为 NULL 。 |
result_cast_type_udt_schema |
character varying |
未使用。值始终为 NULL 。 |
result_cast_type_udt_name |
character varying |
未使用。值始终为 NULL 。 |
result_cast_scope_catalog |
character varying |
未使用。值始终为 NULL 。 |
result_cast_scope_schema |
character varying |
未使用。值始终为 NULL 。 |
result_cast_scope_name |
character varying |
未使用。值始终为 NULL 。 |
result_cast_maximum_cardinality |
bigint |
未使用。值始终为 NULL 。 |
result_cast_dtd_identifier |
character varying |
未使用。值始终为 NULL 。 |
schemata
information_schema.schemata
视图会为
当前数据库。这些架构包括信息架构和默认架构
名为 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 |
序列架构的名称。默认值为 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 。请参阅
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
系统角色或该系统角色的成员访问权限
此角色可以查看所有视图。所有其他主账号只能看到符合以下条件的视图:
已向当前数据库角色授予 SELECT
项精细的访问权限控制权限,
或者分配给 public
。
列名 | 类型 | 说明 |
---|---|---|
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
返回 information_schema
中所有表和视图的名称,
PostgreSQL-dialect 数据库:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
返回有关用户表 my_table
中的列的信息:
SELECT
t.ordinal_position,
t.column_name,
t.data_type,
t.spanner_type,
t.is_nullable
FROM
information_schema.columns AS t
WHERE
t.table_schema = 'public'
AND
t.table_name = 'my_table'
ORDER BY
t.ordinal_position
返回有关当前默认架构中每个索引的信息 数据库:
SELECT
t.table_name,
t.index_name,
t.parent_table_name
FROM
information_schema.indexes AS t
WHERE
t.table_schema = 'public'
AND
t.index_type != 'PRIMARY_KEY'
ORDER BY
t.table_schema,
t.table_name,
t.index_name
返回使用默认值以外的选项的所有列:
SELECT
t.table_name,
t.column_name,
t.option_type,
t.option_value,
t.option_name
FROM
information_schema.column_options AS t
WHERE
t.table_schema = 'public'
ORDER BY
t.table_schema,
t.table_name,
t.column_name,
t.option_name
返回当前与优化器相关的数据库选项:
SELECT
s.option_name,
s.option_value
FROM
information_schema.database_options s
WHERE
s.schema_name='public'
AND s.option_name IN ('optimizer_version',
'optimizer_statistics_package')
返回所有可用的统计信息包:
SELECT *
FROM information_schema.spanner_statistics;
后续步骤
- 了解可用的内省工具以帮助您调查数据库问题。