GoogleSQL 方言数据库的信息架构

信息架构是每个 Spanner 数据库通用的内置架构。您可以对 INFORMATION_SCHEMA 中的表运行 SQL 查询来提取数据库的架构元数据。

例如,以下查询可提取数据库中所有用户定义的表的名称:

  SELECT
    table_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

精细访问权限控制用户会看到某些INFORMATION_SCHEMA表的过滤结果,具体取决于其数据库角色。如需了解详情,请参阅精细访问权限控制简介

用法

INFORMATION_SCHEMA 表只能通过 SQL 接口获得,例如:

  • executeQuery API
  • gcloud spanner databases execute-sql 命令
  • Google Cloud 控制台中数据库的 Spanner Studio 页面)

其他单次读取方法不支持 INFORMATION_SCHEMA

以下是一些额外的 INFORMATION_SCHEMA 使用说明:

information_schema 表中的行过滤

具有数据库级 IAM 权限的主账号以及被授予 spanner_info_reader 系统角色(或该角色的成员)访问权限的主账号可以查看所有 information_schema 表中的所有行。对于其他正文,对于某些表,系统会根据当前数据库角色过滤行。以下部分中的表格和视图说明指明了如何针对每个表格和视图应用行过滤。

INFORMATION_SCHEMA 中的表

以下各部分介绍了 GoogleSQL 方言数据库的 INFORMATION_SCHEMA 中的表。

SCHEMATA

INFORMATION_SCHEMA.SCHEMATA 表列出了数据库中的架构。这些架构包括信息架构和包含您定义的表的命名架构。

列名 类型 说明
CATALOG_NAME STRING 目录的名称。此列是为了与 SQL 标准信息架构表保持兼容而存在的。此列始终为空字符串。
SCHEMA_NAME STRING 架构的名称。对于命名架构,这是架构的名称;对于默认架构,这是空字符串。
PROTO_BUNDLE STRING 如果数据库包含 proto bundle 语句,此列会提供有关架构中所用 proto bundle 的信息。如果数据库中不存在任何 proto bundle,此列为 NULL。

DATABASE_OPTIONS

此表列出了在数据库上设置的选项。

列名 类型 说明
CATALOG_NAME STRING 目录的名称。始终为空字符串。
SCHEMA_NAME STRING 架构的名称。如果未命名,则为空字符串。
OPTION_NAME STRING 数据库选项的名称。
OPTION_TYPE STRING 数据库选项的数据类型。
OPTION_VALUE STRING 数据库选项值。

PLACEMENTS

此表列出了数据库中的展示位置。

列名 类型 说明
PLACEMENT_NAME STRING 展示位置的名称。
IS_DEFAULT BOOL 一个布尔值,用于指明展示位置是否为默认展示位置。

PLACEMENT_OPTIONS

对于每个展示位置,此表列出了在 CREATE PLACEMENT 语句的 OPTIONS 子句中为展示位置设置的选项。

OPTION_NAME 的有效值包括:

  • instance_partition
  • default_leader
列名 类型 说明
PLACEMENT_NAME STRING 展示位置的名称。
OPTION_NAME STRING 展示位置选项的名称。
OPTION_TYPE STRING 展示位置选项的数据类型。对于这两种方案,此值为 STRING(MAX)
OPTION_VALUE STRING 展示位置选项的值。对于 instance_partition,这是实例分区的名称。对于 default_leader,它是默认主要区域的名称。

LOCALITY_GROUP_OPTIONS

对于每个位置组,下表列出了在 CREATE LOCALITY GROUP 语句的 OPTIONS 子句中为位置组设置的名称和选项。

列名 类型 说明
LOCALITY_GROUP_NAME STRING 位置组的名称。
OPTION_NAME STRING 位置组选项的名称。有效选项包括:
  • STORAGE:定义位置信息组的存储类型。
  • SSD_TO_HDD_SPILL_TIMESPAN:定义数据在移至 HDD 存储空间之前在 SSD 存储空间中存储的时间。
OPTION_VALUE STRING 位置组选项的值。对于 STORAGE,此值可以是 ssdhdd。对于 SSD_TO_HDD_SPILL_TIMESPAN,这是数据必须在 SSD 中存储的时间(在数据移至 HDD 存储空间之前)。例如,10d 为 10 天。您可以设置的最短时间为 1 小时。

TABLES

此经过行过滤的表格列出了数据库中的表和视图。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他正文只能查看满足以下任一要求的表:

  • SELECTINSERTUPDATEDELETE 精细访问权限控制权限已授予给当前数据库角色、当前数据库角色所属的角色或 public
  • 系统会向当前数据库角色、当前数据库角色所属的角色或 public 授予针对任何表列的 SELECTINSERTUPDATE 权限。
列名 类型 说明
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 表、视图或同义词的名称。
TABLE_TYPE STRING 表的类型。对于表,该值为 BASE TABLE;对于视图,其值为 VIEW;对于同义词,其值为 SYNONYM
PARENT_TABLE_NAME STRING 如果此表是交错表,则为父表的名称,否则为 NULL
ON_DELETE_ACTION STRING 对于交错表,此名称设置为 CASCADENO ACTION,否则设置为 NULL。如需了解详情,请参阅表语句
SPANNER_STATE STRING 如果涉及批量操作,则表在创建期间可能会经历多个状态。例如,在使用需要回填其索引的外键创建表时。可能的状态包括:
  • ADDING_FOREIGN_KEY:添加表的外键。
  • WAITING_FOR_COMMIT:完成架构更改。
  • COMMITTED:创建表的架构更改已提交。在更改提交之前,您无法向表写入数据。
INTERLEAVE_TYPE STRING 用于指示相应表与交错表之间是否存在父子关系的表达式文本。 可能的值包括:
  • IN:相应表没有父子关系。无论父表行是否存在,此表中的行都可以存在。
  • IN PARENT:表具有父子关系。 此表中的行需要存在其父表行。
  • 空字符串表示相应表没有交错关系。
ROW_DELETION_POLICY_EXPRESSION STRING 用于定义表的行删除政策的表达式文本。 例如,OLDER_THAN(CreatedAt, INTERVAL 1 DAY)OLDER_THAN(ExpiredDate, INTERVAL 0 DAY)

COLUMNS

此行过滤表列出了表中的列。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他正文只能查看满足以下任一要求的列:

  • SELECTINSERTUPDATE 精细访问权限控制权限直接授予给当前数据库角色、当前数据库角色所属的角色或 public
  • 向当前数据库角色、当前数据库角色所属的角色或 public 授予包含相应列的表的任何 SELECTINSERTUPDATE 精细访问权限控制权限。
列名 类型 说明
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 列的表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 表的名称。
COLUMN_NAME STRING 列的名称。
ORDINAL_POSITION INT64 表中列的序号位置,从 1 开始。
COLUMN_DEFAULT STRING

列的默认值的 SQL 表达式的字符串表示形式。如果列没有默认值,则为 NULL

注意:在 2022 年 3 月之前,COLUMN_DEFAULT 使用的是 BYTES 类型。

DATA_TYPE STRING 包含在内,用于满足 SQL 标准。始终为 NULL。请参阅列 SPANNER_TYPE
IS_NULLABLE STRING 指明列是否可以为 Null 的字符串。根据 SQL 标准,字符串可以是 YESNO,但不能是布尔值。
SPANNER_TYPE STRING 列的数据类型
IS_GENERATED STRING 指明是否生成列的字符串。对于生成的列,字符串为 ALWAYS;对于非生成的列,该字符串为 NEVER
GENERATION_EXPRESSION STRING 表示所生成列的 SQL 表达式的字符串。如果该列不是生成的列,则为 NULL
IS_STORED STRING 指明是否存储生成的列的字符串。对于生成的列,字符串始终为 YES;对于非生成的列,该字符串始终为 NULL
IS_HIDDEN STRING 如果列未出现在 SELECT * 查询中,则设置为 TRUE;否则设置为 FALSE。如果列处于隐藏状态,您仍然可以使用其名称(例如 SELECT Id, Name, ColHidden FROM TableWithHiddenColumn)选择该列。
SPANNER_STATE STRING 列的当前状态。向现有表添加的新的生成的已存储列可能需要经过多个用户可观察状态才能充分利用。可能的
    值如下:
  • WRITE_ONLY:正在回填列。不允许读取。
  • COMMITTED:该列完全可用。
IS_IDENTITY STRING 如果生成的列是身份列,则设置为 YES;否则设置为 NO
IDENTITY_GENERATION STRING 一个字符串,用于指定相应列是否仅允许生成的值,而不允许用户插入的自定义值。
  • BY DEFAULT:默认值。BY DEFAULT 指定如果未提供用户插入的值,则列使用生成的值。
  • ALWAYS:该列仅允许生成的值,不允许用户插入自定义值。
IDENTITY_KIND STRING 始终为 BIT_REVERSED_POSITITVE_SEQUENCE。仅支持位反转的正序列。
IDENTITY_START_WITH_COUNTER STRING 转换前内部计数器的起始值。例如,位反转之前的起始值。
IDENTITY_SKIP_RANGE_MIN STRING 转换后跳过范围的最小值。
IDENTITY_SKIP_RANGE_MAX STRING 转换后跳过范围的最大值。

COLUMN_PRIVILEGES

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有列级权限。具有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看满足以下任一要求的列的权限:

  • SELECTINSERTUPDATE 精细访问权限控制权限直接授予给当前数据库角色、当前数据库角色所属的角色或 public
  • 包含相应列的表已向当前数据库角色、当前数据库角色所属的角色或 public 授予 SELECTINSERTUPDATE 精细访问权限控制权限。
列名 类型 说明
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 列的表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 包含特权列的表的名称。
COLUMN_NAME STRING 具有权限的列的名称。
PRIVILEGE_TYPE STRING SELECTINSERTUPDATE
GRANTEE STRING 相应权限所授予的数据库角色的名称。

TABLE_PRIVILEGES

此表经过行过滤,列出了授予数据库角色(包括 public)的所有表级权限。 具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看以下表的权限:当前数据库角色、当前数据库角色所属的角色或 public 被授予了 SELECTINSERTUPDATEDELETE 精细访问权限控制权限的表。

列名 类型 说明
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 授予精细访问权限控制权限的表的名称。
PRIVILEGE_TYPE STRING SELECTINSERTUPDATEDELETE 之一
GRANTEE STRING 相应权限所授予的数据库角色的名称。

TABLE_CONSTRAINTS

此表为数据库中的表定义的每个限制条件都包含了一行。

列名 类型 说明
CONSTRAINT_CATALOG STRING 始终为空字符串。
CONSTRAINT_SCHEMA STRING 限制条件的架构名称。如果未命名,则为空字符串。
CONSTRAINT_NAME STRING 限制条件的名称。
TABLE_CATALOG STRING 受限表的目录名称。始终为空字符串。
TABLE_SCHEMA STRING 受限表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 受限表的名称。
CONSTRAINT_TYPE STRING 限制条件的类型。可能的
    值如下:
  • PRIMARY KEY
  • FOREIGN KEY
  • PLACEMENT KEY
  • CHECK
  • UNIQUE
IS_DEFERRABLE STRING 始终为 NO
INITIALLY_DEFERRED STRING 始终为 NO
ENFORCED STRING 如果限制条件是 信息性 (NOT ENFORCED) 外键,则为 NOYES 用于强制执行的外键或任何其他限制条件类型。

CONSTRAINT_TABLE_USAGE

此表列出了定义限制条件或限制条件使用的表。包括用于定义 PRIMARY KEYUNIQUE 限制条件的表。此外,还包括引用的 FOREIGN KEY 定义的表。

列名 类型 说明
TABLE_CATALOG STRING 受限表的目录名称。始终为空字符串。
TABLE_SCHEMA STRING 受限表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 受限表的名称。
CONSTRAINT_CATALOG STRING 限制条件的目录名称。始终为空字符串。
CONSTRAINT_SCHEMA STRING 限制条件的架构名称。如果未命名,则为空字符串。
CONSTRAINT_NAME STRING 限制条件的名称。

REFERENTIAL_CONSTRAINTS

此表包含一行有关每个 FOREIGN KEY 限制条件的信息。

列名 类型 说明
CONSTRAINT_CATALOG STRING 外键的目录名称。始终为空字符串。
CONSTRAINT_SCHEMA STRING 外键的架构名称。如果未命名,则为空字符串。
CONSTRAINT_NAME STRING 外键的名称。
UNIQUE_CONSTRAINT_CATALOG STRING 外键引用的主键或唯一限制条件的目录名称。始终为空字符串。
UNIQUE_CONSTRAINT_SCHEMA STRING 外键引用的主键或唯一限制条件的架构名称。如果未命名,则为空字符串。
UNIQUE_CONSTRAINT_NAME STRING 外键引用的主键或唯一限制条件的名称。
MATCH_OPTION STRING 始终为 SIMPLE
UPDATE_RULE STRING 始终为 NO ACTION
DELETE_RULE STRING CASCADENO ACTION
SPANNER_STATE STRING 外键的当前状态。在创建和回填外键的支持性索引之前,Spanner 不会开始强制执行限制条件。索引准备就绪后,Spanner 会在验证现有数据时开始对新事务强制执行限制条件。 可能的值和它们所代表的状态如下:
  • BACKFILLING_INDEXES:正在回填的索引。
  • VALIDATING_DATA:正在验证现有数据和新写入。
  • WAITING_FOR_COMMIT:外键批量操作已成功完成,或者不需要任何操作,但外键仍处于待处理状态。
  • COMMITTED:已提交架构更改。

CHECK_CONSTRAINTS

information_schema.CHECK_CONSTRAINTS 表包含关于 CHECKNOT NULL 关键字定义的各个 CHECK 限制条件的一行。

列名 类型 说明
CONSTRAINT_CATALOG STRING 限制条件的目录名称。此列从来不会为 null,但始终为空字符串。
CONSTRAINT_SCHEMA STRING 限制条件的架构名称。如果未命名,则为空字符串。
CONSTRAINT_NAME STRING 限制条件的名称。此列从来不会为 null。如果未在架构定义中明确指定,将分配系统定义的名称。
CHECK_CLAUSE STRING CHECK 限制条件的表达式。此列从来不会为 null。
SPANNER_STATE STRING CHECK 限制条件的当前状态。此列从来不会为 null。 可能的状态如下:
  • VALIDATING:Spanner 正在验证现有数据。
  • COMMITTED:此限制条件没有有效的架构更改。

KEY_COLUMN_USAGE

此行过滤后的表包含一行与 TABLE_CONSTRAINTS 中的表的每一列相关,这些表作为键受到 PRIMARY KEYFOREIGN KEYUNIQUE 限制条件制约。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他正文只能查看符合以下条件的列:

  • SELECTINSERTUPDATE 精细访问权限控制权限直接授予给当前数据库角色、当前数据库角色所属的角色或 public
  • 包含相应列的表已向当前数据库角色、当前数据库角色所属的角色或 public 授予 SELECTINSERTUPDATE 精细访问权限控制权限。
列名 类型 说明
CONSTRAINT_CATALOG STRING 限制条件的目录名称。始终为空字符串。
CONSTRAINT_SCHEMA STRING 限制条件的架构名称。此列从来不会为 null。如果未命名,则为空字符串。
CONSTRAINT_NAME STRING 限制条件的名称。
TABLE_CATALOG STRING 受限列的目录名称。始终为空字符串。
TABLE_SCHEMA STRING 受限列的表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 受限列的表的名称。
COLUMN_NAME STRING 列的名称。
ORDINAL_POSITION INT64 限制条件的键内的列的序号位置,从值 1 开始。
POSITION_IN_UNIQUE_CONSTRAINT INT64 对于 FOREIGN KEY,该唯一限制条件中的列的序号位置,从值 1 开始。对于其他限制条件类型,此列为 null。

CONSTRAINT_COLUMN_USAGE

此表包含一行有关限制条件使用的每一列的信息。包括 PRIMARY KEYUNIQUE 列,以及 FOREIGN KEY 限制条件的引用列。

列名 类型 说明
TABLE_CATALOG STRING 列表的目录名称。始终为空字符串。
TABLE_SCHEMA STRING 列的表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 列的表名称。
COLUMN_NAME STRING 限制条件使用的列的名称。
CONSTRAINT_CATALOG STRING 限制条件的目录名称。始终为空字符串。
CONSTRAINT_SCHEMA STRING 限制条件的架构名称。如果未命名,则为空字符串。
CONSTRAINT_NAME STRING 限制条件的名称。

TABLE_SYNONYMS

此表列出了相应表的同义词信息。

列名 类型 说明
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 表的名称。
SYNONYM_CATALOG STRING 同义词的目录名称。
SYNONYM_SCHEMA STRING 同义词的架构名称。
SYNONYM_TABLE_NAME STRING 同义词所对应的表的名称。

INDEXES

此行过滤后的表列出了数据库中的索引。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他正文只能查看满足以下任一要求的索引:

  • 系统会向当前数据库角色、当前数据库角色所属的角色或 public 授予索引中所有列的任何 SELECTINSERTUPDATE 精细访问权限控制权限。
  • 对具有索引的表授予了任何 SELECTINSERTUPDATEDELETE 细粒度访问权限控制权限,但未向当前数据库角色、当前数据库角色所属的角色或 public 授予这些权限。
列名 类型 说明
TABLE_CATALOG STRING 目录的名称。始终为空字符串。
TABLE_SCHEMA STRING 索引表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 表的名称。
INDEX_NAME STRING 索引的名称。具有 PRIMARY KEY 规范的表具有使用名称 PRIMARY_KEY 生成的伪索引条目,这可以确定主键的字段。
INDEX_TYPE STRING 索引的类型。类型为 INDEXPRIMARY_KEY
PARENT_TABLE_NAME STRING 二级索引可以在父表中交错,如创建二级索引中所述。此列保存该父表的名称,如果索引未交错,则保留空字符串。
IS_UNIQUE BOOL 索引键是否必须是唯一的。
IS_NULL_FILTERED BOOL 索引是否包含值为 NULL 的条目。
INDEX_STATE STRING 索引的当前状态。可能的值和它们所代表的状态如下:
  • PREPARE:为新索引创建空表。
  • WRITE_ONLY:回填新索引的数据。
  • WRITE_ONLY_CLEANUP:清理新索引。
  • WRITE_ONLY_VALIDATE_UNIQUE:检查新索引中数据的唯一性。
  • READ_WRITE:正常索引操作。
SPANNER_IS_MANAGED BOOL 如果索引由 Spanner 管理,则为 TRUE;否则为 FALSE。外键的二级支持性索引由 Spanner 管理。

INDEX_COLUMNS

此行过滤后的表列出了索引中的列。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他正文只能查看满足以下任一要求的索引:

  • 系统会向当前数据库角色、当前数据库角色所属的角色或 public 授予索引中所有列的任何 SELECTINSERTUPDATE 精细访问权限控制权限。
  • 如果表具有索引,则向当前数据库角色、当前数据库角色所属的角色或 public 授予 SELECTINSERTUPDATE 精细访问权限控制权限。
列名 类型 说明
TABLE_CATALOG STRING 目录的名称。始终为空字符串。
TABLE_SCHEMA STRING 索引表的架构名称。默认架构的名称为空,其他架构的名称包含值。此列始终包含一个值。
TABLE_NAME STRING 表的名称。
INDEX_NAME STRING 索引的名称。
COLUMN_NAME STRING 列的名称。
ORDINAL_POSITION INT64 索引(或主键)中列的序号位置,从值 1 开始。对于非键列(例如,索引的 STORING 子句中指定的列),此值为 NULL
COLUMN_ORDERING STRING 列的排序。对于键列,值为 ASCDESC;对于非键列(例如,索引的 STORING 子句中指定的列),值为 NULL
IS_NULLABLE STRING 指明列是否可以为 Null 的字符串。根据 SQL 标准,字符串可以是 YESNO,但不能是布尔值。
SPANNER_TYPE STRING 列的数据类型

COLUMN_OPTIONS

此行过滤表列出了表中的列选项。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他委托人只能看到满足以下任一要求的列的选项:

  • SELECTINSERTUPDATE 精细访问权限控制权限直接授予给当前数据库角色、当前数据库角色所属的角色或 public
  • 包含相应列的表已向当前数据库角色、当前数据库角色所属的角色或 public 授予 SELECTINSERTUPDATE 精细访问权限控制权限。
列名 类型 说明
TABLE_CATALOG STRING 目录的名称。始终为空字符串。
TABLE_SCHEMA STRING 架构的名称。默认架构的名称为空,其他架构(例如,INFORMATION_SCHEMA 本身)的名称为非空。 此列从来不会为 null。
TABLE_NAME STRING 表的名称。
COLUMN_NAME STRING 列的名称。
OPTION_NAME STRING 唯一标识选项的 SQL 标识符。此标识符是 DDL 中 OPTIONS 子句的键。
OPTION_TYPE STRING 表示此选项值的类型的数据类型名称。
OPTION_VALUE STRING 描述此选项值的 SQL 字面量。此列的值必须作为查询的一部分进行分析。解析该值所得到的表达式必须可强制转换为 OPTION_TYPE。此列从来不会为 null。

SEQUENCES

此表列出了序列元数据。如果具有精细访问权限的用户查询 SEQUENCES,则系统会根据精细访问权限对该表进行行过滤。

列名 类型 说明
CATALOG STRING 包含序列的目录的名称。
SCHEMA STRING 包含序列的架构的名称。
NAME STRING 序列的名称。
DATA_TYPE STRING 序列值的类型。它使用 INT64 数据类型。

SEQUENCE_OPTIONS

此表包含序列的配置选项。如果具有精细访问权限的用户查询 SEQUENCE_OPTIONS,则会根据精细访问权限对行进行过滤。

列名 类型 说明
CATALOG STRING 包含序列的目录的名称。
SCHEMA STRING 包含序列的架构的名称。
NAME STRING 序列的名称。
OPTION_NAME STRING 序列选项的名称。
OPTION_TYPE STRING 表示此选项值的类型的数据类型名称。
OPTION_VALUE STRING 序列选项值。解析该值所得到的表达式必须允许强制转换为 OPTION_TYPE

SPANNER_STATISTICS

下表列出了可用的查询优化器统计信息软件包。

列名 类型 说明
CATALOG_NAME STRING 目录的名称。始终为空字符串。
SCHEMA_NAME STRING 架构的名称。默认架构的名称为空,其他架构(例如,INFORMATION_SCHEMA 本身)的名称为非空。 此列从来不会为 null。
PACKAGE_NAME STRING 统计信息软件包的名称。
ALLOW_GC BOOL 如果统计信息软件包已从垃圾回收中排除,则为 FALSE;否则为 TRUE
此特性必须设置为 FALSE,以便通过提示或通过客户端 API 引用统计信息软件包。

VIEWS

此经过行过滤的表列出了数据库中的视图。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看当前数据库角色、当前数据库角色所属的角色或 public 获授 SELECT 精细访问权限控制权限的视图。

列名 类型 说明
TABLE_CATALOG STRING 目录的名称。始终为空字符串。
TABLE_SCHEMA STRING 架构的名称。如果未命名,则为空字符串。
TABLE_NAME STRING 视图的名称。
VIEW_DEFINITION STRING 定义视图的查询的 SQL 文本。
SECURITY_TYPE STRING 视图的安全类型。INVOKERDEFINER

如需了解详情,请参阅关于视图

ROLES

此经过行过滤的表列出了为精细访问权限控制定义的数据库角色,包括系统角色。具有数据库级 IAM 权限的主账号以及已获授 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看所有数据库角色。所有其他主账号只能看到已直接或通过继承方式授予其访问权限的数据库角色。

列名 类型 说明
ROLE_NAME STRING 数据库角色的名称。
IS_SYSTEM BOOL 如果数据库角色是系统角色,则返回 TRUE;否则返回 FALSE

ROLE_GRANTEES

此表经过行过滤,列出了明确授予所有数据库角色的所有角色成员资格。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能看到授予当前数据库角色或当前数据库角色所属角色的角色成员资格。

由于所有数据库角色都是 public 角色的成员,因此结果会省略 public 角色的隐式成员资格记录。

列名 类型 说明
ROLE_NAME STRING 授予相应成员资格的数据库角色的名称。
GRANTEE STRING 授予相应成员资格的数据库角色的名称。

CHANGE_STREAMS

此按行过滤的表格列出了数据库的所有变更数据流,并注明了哪些变更数据流跟踪整个数据库,哪些跟踪特定表或列。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看当前数据库角色、当前数据库角色所属的角色或 public 获授 SELECT 精细访问权限控制权限的变更数据流。

列名 类型 说明
CHANGE_STREAM_CATALOG STRING 变更数据流的目录名称。始终为空字符串。
CHANGE_STREAM_SCHEMA STRING 相应变更数据流的架构名称。始终为空字符串。
CHANGE_STREAM_NAME STRING 变更数据流的名称。
ALL BOOL 如果相应变更数据流跟踪整个数据库,则为 TRUEFALSE(如果此变更数据流跟踪特定表或列)。

CHANGE_STREAM_TABLES

此行过滤后的表包含有关表和监控这些表的变更数据流的信息。每一行描述一个表和一个更改流。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能看到当前数据库角色、当前数据库角色所属的角色或 public 获授 SELECT 权限的变更数据流的行。

CHANGE_STREAM_TABLES 中的数据不包括表与跟踪整个数据库的变更数据流之间的隐式关系。

列名 类型 说明
CHANGE_STREAM_CATALOG STRING 变更数据流的目录名称。始终为空字符串。
CHANGE_STREAM_SCHEMA STRING 变更数据流的架构名称。始终为空字符串。
CHANGE_STREAM_NAME STRING 相应行所指的变更数据流的名称。
TABLE_CATALOG STRING 表的目录名称。始终为空字符串。
TABLE_SCHEMA STRING 表的架构名称。始终为空字符串。
TABLE_NAME STRING 相应行所指的表的名称。
ALL_COLUMNS BOOL 如果相应行的变更数据流跟踪的是该行所指表的全部内容,则为 TRUE。否则,FALSE

CHANGE_STREAM_COLUMNS

此经过行过滤的表包含有关表列和监控这些列的更改流的信息。每行描述一个更改流和一个列。如果变更数据流跟踪整个表,则该表中的列不会显示在此视图中。

具有数据库级 IAM 权限的主账号以及已获准访问 spanner_info_reader 系统角色或该角色成员的主账号可以查看此视图中的所有行。所有其他委托人只能看到以下变更数据流的行:当前数据库角色被授予 SELECT 权限的变更数据流、当前数据库角色所属的角色被授予 SELECT 权限的变更数据流,或 public 被授予 SELECT 权限的变更数据流。

列名 类型 说明
CHANGE_STREAM_CATALOG STRING 变更数据流的目录名称。始终为空字符串。
CHANGE_STREAM_SCHEMA STRING 变更数据流的架构名称。始终为空字符串。
CHANGE_STREAM_NAME STRING 变更数据流的名称。
TABLE_CATALOG STRING 表的目录名称。始终为空字符串。
TABLE_SCHEMA STRING 表的架构名称。始终为空字符串。
TABLE_NAME STRING 相应行所指的表的名称。
COLUMN_NAME STRING 相应行所指的列的名称。

CHANGE_STREAM_OPTIONS

此经过行过滤的表包含变更数据流的配置选项。 具有数据库级 IAM 权限的主账号以及已获准访问 spanner_info_reader 系统角色或该角色成员的主账号可以查看此视图中的所有行。所有其他委托人只能看到当前数据库角色、当前数据库角色所属的角色或 public 拥有 SELECT 权限的变更数据流的选项。

列名 类型 说明
CHANGE_STREAM_CATALOG STRING 变更数据流的目录名称。始终为空字符串。
CHANGE_STREAM_SCHEMA STRING 变更数据流的架构名称。始终为空字符串。
CHANGE_STREAM_NAME STRING 变更数据流的名称。
OPTION_NAME STRING 变更数据流选项的名称。
OPTION_TYPE STRING 变更数据流选项的数据类型。
OPTION_VALUE STRING 更改流选项值。

CHANGE_STREAM_PRIVILEGES

此行过滤后的表列出了授予任何数据库角色的所有变更数据流的精细访问权限控制权限,包括 public。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他委托人只能看到授予当前数据库角色、当前数据库角色所属的角色或 public 的变更数据流权限。

列名 类型 说明
CHANGE_STREAM_CATALOG STRING 包含变更数据流的目录的名称(空字符串)。
CHANGE_STREAM_SCHEMA STRING 包含变更数据流的架构的名称(空字符串)。
CHANGE_STREAM_NAME STRING 变更数据流的名称。
PRIVILEGE_TYPE STRING SELECT(变更数据流唯一允许的权限)。
GRANTEE STRING 相应权限所授予的数据库角色的名称。

ROUTINES

此行过滤后的表列出了数据库的所有变更数据流读取函数。具有数据库级 IAM 权限的主账号以及已获准访问 spanner_info_reader 系统角色或该角色成员的主账号可以查看此视图中的所有行。所有其他主账号只能看到以下变更数据流读取函数:当前数据库角色、当前数据库角色所属的角色或 public 拥有 EXECUTE 精细访问权限控制权限的变更数据流读取函数。

列名 类型 说明
SPECIFIC_CATALOG STRING 例程的目录名称。始终为空字符串。
SPECIFIC_SCHEMA STRING 例程的架构名称。始终为空字符串。
SPECIFIC_NAME STRING 例程的名称。唯一标识例程,即使其名称被重载也是如此。
ROUTINE_CATALOG STRING 例程的目录名称。始终为空字符串。
ROUTINE_SCHEMA STRING 例程的架构名称。始终为空字符串。
ROUTINE_NAME STRING 例程的名称。(如果过载,可能会重复。)
ROUTINE_TYPE STRING 例程的类型(FUNCTIONPROCEDURE)。始终为 FUNCTION
DATA_TYPE STRING 例程返回的数据类型
ROUTINE_BODY STRING 例程正文的类型(SQLEXTERNAL)。
ROUTINE_DEFINITION STRING ROUTINE_BODY 的定义。
SECURITY_TYPE STRING 例程的安全类型。始终为 INVOKER

ROUTINE_OPTIONS

此行过滤后的表为每个已定义的变化流读取函数的每个选项都包含了一行。

具有数据库级 IAM 权限的主账号以及已获准访问 spanner_info_reader 系统角色或该角色成员的主账号可以查看此视图中的所有行。所有其他主账号只能看到以下变更数据流读取函数的选项:当前数据库角色、当前数据库角色所属的角色或 public 拥有 EXECUTE 精细访问权限控制权限的变更数据流读取函数。

列名 类型 说明
SPECIFIC_CATALOG STRING 例程的目录名称。始终为空字符串。
SPECIFIC_SCHEMA STRING 例程的架构名称。始终为空字符串。
SPECIFIC_NAME STRING 例程的名称。在出现名称重载的情况下,唯一标识例程。
OPTION_NAME STRING 唯一标识选项的 SQL 标识符。
OPTION_TYPE STRING OPTION_VALUE 的数据类型。
OPTION_VALUE STRING 描述此选项值的 SQL 字面量。 此列的值必须作为查询的一部分进行解析。

PARAMETERS

此行过滤后的表定义了每个变更数据流读取函数的实参。每一行都描述了一个更改流读取函数的实参。

具有数据库级 IAM 权限的主账号以及已获准访问 spanner_info_reader 系统角色或该角色成员的主账号可以查看此视图中的所有行。所有其他主账号只能看到以下变更数据流读取函数的参数:当前数据库角色、当前数据库角色所属的角色或 public 拥有 EXECUTE 精细访问权限控制权限的变更数据流读取函数。

列名 类型 说明
SPECIFIC_CATALOG STRING 例程的目录名称。始终为空字符串。
SPECIFIC_SCHEMA STRING 例程的架构名称。始终为空字符串。
SPECIFIC_NAME STRING 例程的名称。在出现名称重载的情况下,唯一标识例程。
ORDINAL_POSITION INT64 例程中参数的序号位置,从 1 开始。
PARAMETER_NAME STRING 参数的名称。
DATA_TYPE STRING 形参的数据类型。
PARAMETER_DEFAULT STRING 参数的默认值,或没有默认值的参数的 NULL

ROUTINE_PRIVILEGES

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有变更数据流读取函数的全部精细访问权限控制权限。 具有数据库级 IAM 权限的主账号以及已获准访问 spanner_info_reader 系统角色或该角色成员的主账号可以查看此视图中的所有行。所有其他正文只能看到授予当前数据库角色、当前数据库角色所属的角色或 public 的更改流读取函数的权限。

列名 类型 说明
SPECIFIC_CATALOG STRING 例程的目录名称。始终为空字符串。
SPECIFIC_SCHEMA STRING 例程的架构名称。始终为空字符串。
SPECIFIC_NAME STRING 例程的名称。在出现名称重载的情况下,唯一标识例程。
PRIVILEGE_TYPE STRING 始终为 EXECUTE
GRANTEE STRING 相应权限所授予的数据库角色的名称。

ROLE_TABLE_GRANTS

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有表和视图的所有精细访问权限控制权限。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能看到授予当前数据库角色以及当前数据库角色所属角色的表和视图权限,但不包括 public

列名称 类型 说明
GRANTOR STRING 未使用。始终为 NULL
GRANTEE STRING 相应权限所授予的数据库角色的名称。
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 未使用。始终为空字符串。
TABLE_NAME STRING 表或视图的名称。
PRIVILEGE_TYPE STRING 相应权限的类型(SELECTINSERTUPDATEDELETE)。
IS_GRANTABLE STRING 未使用。始终为 NO

ROLE_COLUMN_GRANTS

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有列的所有精细访问权限控制权限。具有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看授予当前数据库角色以及当前数据库角色所属角色的列权限,但不包括 public

该视图包含列从包含该列的表或视图继承的 SELECTINSERTUPDATE 权限。

列名称 类型 说明
GRANTOR STRING 未使用。始终为 NULL
GRANTEE STRING 相应权限所授予的数据库角色的名称。
TABLE_CATALOG STRING 未使用。始终为空字符串。
TABLE_SCHEMA STRING 未使用。始终为空字符串。
TABLE_NAME STRING 包含相应列的表或视图的名称。
COLUMN_NAME STRING 授予权限的列的名称。
PRIVILEGE_TYPE STRING 相应权限的类型(SELECTINSERTUPDATE)。
IS_GRANTABLE STRING 未使用。始终为 NO

ROLE_CHANGE_STREAM_GRANTS

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有变更数据流的 SELECT 权限。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能看到授予当前数据库角色以及当前数据库角色所属角色的变更数据流权限,但不包括 public

列名称 类型 说明
CHANGE_STREAM_CATALOG STRING 未使用。始终为空字符串。
CHANGE_STREAM_SCHEMA STRING 包含更改流的架构的名称。
CHANGE_STREAM_NAME STRING 变更数据流的名称。
PRIVILEGE_TYPE STRING 权限的类型(仅限 SELECT)。
GRANTEE STRING 相应权限所授予的数据库角色的名称。

ROLE_MODEL_GRANTS

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有模型的所有精细访问权限控制权限。拥有数据库级 IAM 权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能看到授予当前数据库角色以及当前数据库角色所属角色的表和视图权限,但不包括 public

列名称 类型 说明
GRANTOR STRING 未使用。始终为 NULL
GRANTEE STRING 相应权限所授予的数据库角色的名称。
MODEL_CATALOG STRING 未使用。始终为空字符串。
MODEL_SCHEMA STRING 未使用。始终为空字符串。
MODEL_NAME STRING 模型的名称。
PRIVILEGE_TYPE STRING 权限的类型 (EXECUTE)。
IS_GRANTABLE STRING 未使用。始终为 NO

ROLE_ROUTINE_GRANTS

此经过行过滤的表列出了授予任何数据库角色(包括 public)的所有变更数据流读取函数的 EXECUTE 权限。具有 IAM 数据库级权限的主账号以及已获得 spanner_info_reader 系统角色或该角色成员的访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看授予当前数据库角色以及当前数据库角色所属角色的变更数据流读取函数的权限,但不包括 public

列名 类型 说明
GRANTOR STRING 未使用。始终为 NULL
GRANTEE STRING 授予相应权限的角色的名称。
SPECIFIC_CATALOG STRING 例程目录的名称。
SPECIFIC_SCHEMA STRING 例程架构的名称。
SPECIFIC_NAME STRING 例程的名称。在出现名称重载的情况下,唯一标识例程。
PRIVILEGE_TYPE STRING 授予的权限类型。始终为 EXECUTE
IS_GRANTABLE STRING 未使用。始终为 NO

MODELS

此表列出了数据库的所有模型

列名 类型 说明
MODEL_CATALOG STRING 目录的名称。始终为空字符串。
MODEL_SCHEMA STRING 相应模型的架构名称。始终为空字符串。
MODEL_NAME STRING 模型的名称。
IS_REMOTE BOOL 如果这是远程模型,则为 TRUE。如果这是受管理的模型,则为 FALSE

MODEL_OPTIONS

此表包含模型的配置选项。

列名 类型 说明
MODEL_CATALOG STRING 目录的名称。始终为空字符串。
MODEL_SCHEMA STRING 相应模型的架构名称。始终为空字符串。
MODEL_NAME STRING 模型的名称。
OPTION_NAME STRING 模型选项的名称。
OPTION_TYPE STRING 模型选项的数据类型。
OPTION_VALUE STRING 模型选项值。

MODEL_COLUMNS

此表列出了模型中的列。

列名 类型 说明
MODEL_CATALOG STRING 目录的名称。始终为空字符串。
MODEL_SCHEMA STRING 相应模型的架构名称。始终为空字符串。
MODEL_NAME STRING 模型的名称。
COLUMN_KIND STRING 模型列类型。以下值之一:"INPUT""OUTPUT"
COLUMN_NAME STRING 列的名称。
DATA_TYPE STRING 列的标准 SQL 数据类型。
ORDINAL_POSITION INT64 列的序号位置,从值 1 开始,以保留声明的列的顺序。
IS_EXPLICIT BOOL 如果列是在 DDL 中明确指定的,则为 TRUE;如果列是从端点发现的,则为 FALSE

MODEL_COLUMN_OPTIONS

此表包含模型列的配置选项。

列名 类型 说明
MODEL_CATALOG STRING 目录的名称。始终为空字符串。
MODEL_SCHEMA STRING 相应模型的架构名称。始终为空字符串。
MODEL_NAME STRING 模型的名称。
COLUMN_KIND STRING 模型列类型。以下值之一:"INPUT""OUTPUT"
COLUMN_NAME STRING 列的名称。
OPTION_NAME STRING 模型列选项的名称。
OPTION_TYPE STRING 模型列选项的数据类型。
OPTION_VALUE STRING 模型列选项值。

MODEL_PRIVILEGES

此行过滤后的表格列出了在模型级向数据库角色授予的所有权限,包括 public。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。所有其他主账号只能查看以下模型的权限:当前数据库角色被授予了 EXECUTE 精细访问权限控制权限的模型、当前数据库角色所属的角色对应的模型,或 public 对应的模型。

列名 类型 说明
MODEL_CATALOG STRING 未使用。始终为空字符串。
MODEL_SCHEMA STRING 未使用。始终为空字符串。
MODEL_NAME STRING 授予精细访问权限控制权限的模型的名称。
PRIVILEGE_TYPE STRING EXECUTE>
GRANTEE STRING 相应权限所授予的数据库角色的名称。

PROPERTY_GRAPHS

此行过滤后的表列出了数据库中的属性图。具有数据库级 IAM 权限的主账号以及已被授予 spanner_info_reader 系统角色或该角色成员访问权限的主账号可以查看此视图中的所有行。其他所有主账号只有在满足查看用于定义这些图表的所有表格的要求时,才能查看属性图。

列名 类型 说明
PROPERTY_GRAPH_CATALOG STRING 目录的名称。始终为空字符串。
PROPERTY_GRAPH_SCHEMA STRING 架构的名称。如果未命名,则为空字符串。
PROPERTY_GRAPH_NAME STRING 属性图的名称。
PROPERTY_GRAPH_METADATA_JSON JSON JSON 格式的属性图定义。

PROPERTY_GRAPH_METADATA_JSON 列包含一个 PropertyGraph JSON 对象,定义如下:

JSON 对象名称 字段名称 JSON 类型 说明
PropertyGraph catalog string 目录的名称。始终为空字符串。
schema string 架构的名称。如果未命名,则为空字符串。
name string 属性图的名称。
nodeTables array<object> 节点的 GraphElementTable 对象列表。
edgeTables array<object> 边的 GraphElementTable 对象列表。
labels array<object> GraphElementLabel 对象的列表。
propertyDeclarations array<object> GraphPropertyDeclaration 对象的列表。
GraphElementTable name string 图元素表的名称。
kind string NODEEDGE
baseCatalogName string 包含基表的目录的名称。
baseSchemaName string 包含基表的架构的名称。
baseTableName string 从中创建元素的输入表的名称。
keyColumns array<string> 构成元素键的列名称。
labelNames array<string> 附加到此元素表的标签名称。
propertyDefinitions array<object> GraphPropertyDefinition 对象的列表。
dynamicLabelExpr string 包含 DYNAMIC LABEL 定义的列的名称。
dynamicPropertyExpr string 包含 DYNAMIC PROPERTIES 定义的列的名称。
sourceNodeTable object 一个 GraphNodeTableReference 对象。仅当 kindEDGE 时存在。
destinationNodeTable object 一个 GraphNodeTableReference 对象。仅当 kindEDGE 时存在。
GraphNodeTableReference nodeTableName string 图元素表的名称。
edgeTableColumns array<string> 与边的来源键和目标键相关联的列的名称。
nodeTableColumns array<string> 与节点的来源键和目标键相关联的列的名称。
GraphElementLabel name string 标签的名称。
propertyDeclarationNames array<string> 与相应标签相关联的媒体资源名称。
GraphPropertyDeclaration name string 相应属性的名称。
type string 房产类型。
GraphPropertyDefinition propertyDeclarationName string 相应属性的名称。
valueExpressionSql string 用于定义属性的表达式。

示例

返回有关用户架构中每个表的信息:

SELECT
  t.table_schema,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

返回 INFORMATION_SCHEMA 中所有表的名称:

SELECT
  t.table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = "SPANNER_SYS"

返回有关默认架构中用户表 MyTable 中的列的信息:

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

返回有关数据库的默认主要区域的信息。如果未设置默认主要区域,则返回空值:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.option_name = 'default_leader'

返回有关用户架构中每个索引的信息:

SELECT
  t.table_schema,
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.index_name

返回使用默认值以外的选项的所有列:

SELECT
  t.table_schema,
  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_catalog = ''
AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')

返回当前与优化器相关的数据库选项:

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

返回所有可用的统计信息包:

SELECT
  *
FROM
  information_schema.spanner_statistics;

返回所有序列:

SELECT
  *
FROM
  information_schema.sequences;

返回名为“MySequence”的序列的所有序列选项

SELECT
  *
FROM
  information_schema.sequence_options WHERE name="MySequence";

返回所有属性图的名称及其定义:

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

返回所有属性图的名称及其标签和属性:

SELECT
  property_graph_name,
  property_graph_metadata_json.labels,
  property_graph_metadata_json.propertyDeclarations
FROM
  information_schema.property_graphs

后续步骤

  • 了解可用的内省工具以帮助您调查数据库问题。