2. 系统视图¶
除系统目录外,KingbaseES提供了一些内建视图。一些系统视图为系统目录上一些常用查询提供了便利的访问。其他视图提供了对内部服务器状态的访问。
KingbaseES信息模式 提供了一组可供选择的视图,它和系统视图在功能上有所重叠。由于信息模式是SQL标准,而这里描述的视图是KingbaseES特有的,如果信息模式能提供你所需要的信息,通常最好使用它。
表 表 2.2 列出了这里描述的系统视图。每一个视图的详细文档都在后文中。
除了特别注明的,所有这里描述的视图都是只读的。
视图名字 |
用途 |
---|---|
sys_available_extensions |
可用的扩展 |
sys_available_extension_versions |
所有版本的扩展 |
sys_config |
编译时配置参数 |
sys_cursors |
打开的游标 |
sys_file_settings |
配置文件内容摘要 |
sys_group |
数据库用户组 |
sys_hba_file_rules |
客户端认证配置文件内容的摘要 |
sys_indexes |
索引 |
sys_locks |
当前保持或者等待的锁 |
sys_matviews |
物化视图 |
sys_policies |
策略 |
sys_prepared_statements |
预备好的语句 |
sys_prepared_xacts |
预备好的事务 |
sys_publication_tables |
publication和它们相关的表 |
sys_replication_origin_status |
有关复制源的信息,包括复制进度 |
sys_replication_slots |
复制槽信息 |
sys_roles |
数据库角色 |
sys_rules |
规则 |
sys_seclabels |
安全标签 |
sys_sequences |
序列 |
sys_settings |
参数设置 |
sys_shadow |
数据库用户 |
sys_stats |
规划器统计信息 |
sys_stats_ext |
extended planner statistics |
sys_tables |
表 |
sys_timezone_abbrevs |
时区简写 |
sys_timezone_names |
时区名字 |
sys_user |
数据库用户 |
sys_user_mappings |
用户映射 |
sys_views |
视图 |
2.1. sys_available_extensions¶
sys_available_extensions
视图列出了可用于安装的扩展。参见 sys_extension 目录,它显示当前已安装的扩展。
名字 |
类型 |
描述 |
---|---|---|
|
|
扩展名 |
|
|
默认版本的名字,如果没有指定则为 |
|
|
当前已安装的扩展版本,如果没有安装则为 |
|
|
来自于扩展的控制文件的注释字符串 |
sys_available_extensions
视图是只读的。
2.2. sys_available_extension_versions¶
sys_available_extension_versions
视图列出了可用于安装的指定扩展版本。参见 sys_extension 目录,它显示当前已安装的扩展。
名字 |
类型 |
描述 |
---|---|---|
|
|
扩展名 |
|
|
版本名 |
|
|
如果此版本的扩展当前已安装则为真 |
|
|
如果只有超级用户被允许安装此扩展则为真 |
|
|
如果扩展能被重定位到另一个模式则为真 |
|
|
此扩展必须被安装到的模式名,如果此扩展是部分或者全部可以重定位的,此列为 |
|
|
先决条件扩展的名字,如果没有则为 |
|
|
来自于扩展的控制文件的注释字符串 |
sys_available_extension_versions
视图是只读的。
2.3. sys_config¶
视图sys_config
描述了当前安装的KingbaseES版本中的编译时配置参数。它存在的本意是用于那些要和KingbaseES交互的软件包,让它们能找到所需要的头文件和库。它提供了和 sys_config KingbaseES客户端应用相同的基本信息。
默认情况下,sys_config
视图只能由超级用户读取。
名称 |
类型 |
描述 |
---|---|---|
|
|
参数名 |
|
|
参数值 |
2.4. sys_cursors¶
sys_cursors
视图列出了当前可用的游标。游标可以以几种方式定义:
-
通过SQL中的 DECLARE 语句
-
通过前端/后端协议中的绑定消息
-
通过服务器编程接口(SPI),如 接口函数 中所描述的
sys_cursors
视图显示由任何这些方式创建的游标。视图只存在于定义它们的事务期间,除非声明了WITH HOLD
。因此非保持游标只在它们的创建事务结束前存在于这个视图中。
Note
视图用于在内部实现KingbaseES的某些部件,例如过程语言。因此,sys_cursors
视图可能包括那些不是由用户显式创建的游标。
名字 |
类型 |
描述 |
---|---|---|
|
|
游标名 |
|
|
提交用于定义此游标的查询语句 |
|
|
如果游标是可保持的(即,它可以在其定义事务提交后被访问)则为 |
|
|
如果游标被声明为 |
|
|
如果游标是可滚动的(即,允许以一种非顺序的方式检索行)则为 |
|
|
游标被声明的时间 |
sys_cursors
视图是只读的。
2.5. sys_file_settings¶
视图sys_file_settings
提供了服务器配置文件内容的概要。这个视图中的每一行表示配置文件中出现的一个 “name = value”项,还带有注解指示该值是否被成功地应用。在配置文件有问题时,有可能出现额外的行,它们没有相关的 “name = value”项,一个例子是配置文件中有语法错误。
这个视图有助于检查在配置文件中打算做的修改是否能工作,或者用来诊断之前的失败。注意这个视图报告的是配置文件的当前内容,而不是服务器最后应用的值(这些值通常查看 sys_settings 视图就够了)。
默认情况下,sys_file_settings
视图只有超级用户可读。
名称 |
类型 |
描述 |
---|---|---|
|
|
配置文件的完整路径名 |
|
|
该项在配置文件中出现的行号 |
|
|
项被处理的顺序(1..``n``) |
|
|
配置参数名 |
|
|
被赋予给参数的值 |
|
|
为真表示值已被成功应用 |
|
|
如果非空,表示一个错误消息,它说明为什么这个项不能被应用 |
如果配置文件包含语法错误或者非法参数名,服务器将不会尝试从其中应用任何设置,并且因此所有的applied
域都为假。在这种情况下,将会有一个或者多个行的error
域为非空,它们说明了为什么出问题。否则,将尽可能应用每个设置。如果一个设置不能被应用(例如非法值或者该设置不能在服务器开始后改变),会有一个合适的消息存储在它的error
域中。一个项的applied
域为假的另一种情况是它被后面一个具有相同参数名的项所覆盖,这种情况不会被认为是一种错误,因此在error
域中不会有 错误消息。
关于更改运行时参数的各种方法请见 设置参数 。
2.6. sys_group¶
视图sys_group
为向后兼容而存在:它模拟了存在于KingbaseES V7之前版本中的一个目录。它显式所有角色的名称和未被标记rolcanlogin
的成员,它是被用做组的角色集合的近似。
名称 |
类型 |
引用 |
描述 |
---|---|---|---|
|
|
|
组名 |
|
|
|
组ID |
|
|
|
包含此组中角色ID的一个数组 |
2.7. sys_hba_file_rules¶
视图sys_hba_file_rules
提供客户端认证配置文件sys_hba.conf
内容的摘要。该文件中每个非空、非注释行都会在这个视图中出现一行,行中还有标记表示该规则是否被成功地应用。
这个视图可用来检查认证配置文件中按计划的更改是否起作用,或者诊断之前的失败。注意这个视图报告的是该文件的当前内容,而不是服务器最后一次载入的内容。
默认情况下,只有超级用户可以读取sys_hba_file_rules
视图。
名称 |
列 |
描述 |
---|---|---|
|
|
这条规则在 |
|
|
连接类型 |
|
|
这条规则应用的数据库名列表 |
|
|
这条规则应用的用户及组名列表 |
|
|
主机名或IP地址,或者 |