系统表
本章节主要介绍Vastbase G100系统表。
系统表是Vastbase存放结构元数据的地方,它是Vastbase数据库系统运行控制信息的来源,是数据库系统的核心组成部分。Vastbase G100包含的系统表如下:
系统表名称 | 系统表含义 |
---|---|
GS_ASP | GS_ASP显示被持久化的ACTIVE SESSION PROFILE样本,该表只在系统库下查询,在用户库下查询无数据。 |
GS_AUDITING_POLICY | GS_AUDITING_POLICY系统表记录统一审计的主体信息,每条记录对应一个设计策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_AUDITING_POLICY_ACCESS | GS_AUDITING_POLICY_ACCESS系统表记录与DML数据库相关操作的统一审计信息。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_AUDITING_POLICY_FILTERS | GS_AUDITING_POLICY_FILTERS系统表记录统一审计相关的过滤策略相关信息,每条记录对应一个设计策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_AUDITING_POLICY_PRIVILEGES | GS_AUDITING_POLICY_PRIVILEGES系统表记录统一审计DDL数据库相关操作信息,每条记录对应一个设计策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_CLIENT_GLOBAL_KEYS | GS_CLIENT_GLOBAL_KEYS系统表记录密态等值特性中客户端加密主密钥相关信息,每条记录对应一个客户端加密主密钥。 |
GS_CLIENT_GLOBAL_KEYS_ARGS | GS_CLIENT_GLOBAL_KEYS_ARGS系统表记录密态等值特性中客户端加密主密钥相关元数据信息,每条记录对应客户端加密主密钥的一个键值对信息。 |
GS_COLUMN_KEYS | GS_COLUMN_KEYS系统表记录密态等值特性中列加密密钥相关信息,每条记录对应一个列加密密钥。 |
GS_COLUMN_KEYS_ARGS | GS_COLUMN_KEYS_ARGS系统表记录密态等值特性中客户端加密主密钥相关元数据信息,每条记录对应客户端加密主密钥的一个键值对信息。 |
GS_DB_PRIVILEGE | GS_DB_PRIVILEGE系统表记录ANY权限的授予情况,每条记录对应一条授权信息。 |
GS_ENCRYPTED_COLUMNS | GS_ENCRYPTED_COLUMNS系统表记录密态等值特性中表的加密列相关信息,每条记录对应一条加密列信息。 |
GS_ENCRYPTED_PROC | GS_ENCRYPTED_PROC系统表提供了密态函数/存储过程函数参数、返回值的原始数据类型,加密列等信息。 |
GS_GLOBAL_CHAIN | GS_GLOBAL_CHAIN系统表记录用户对防篡改用户表的修改操作信息,每条记录对应一次表级修改操作。具有审计管理员权限的用户可以查询此系统表,所有用户均不允许修改此系统表。 |
GS_GLOBAL_CONFIG | GS_GLOBAL_CONFIG记录了数据库实例初始化时,用户指定的参数值。除此之外,还存放了用户设置的弱口令,支持数据库初始用户通过ALTER和DROP语法对系统表中的参数进行写入、修改和删除。 |
GS_MASKING_POLICY | GS_MASKING_POLICY系统表记录动态数据脱敏策略的主体信息,每条记录对应一个脱敏策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_MASKING_POLICY_ACTIONS | GS_MASKING_POLICY_ACTIONS系统表记录动态数据脱敏策略中相应的脱敏策略包含的脱敏行为,一个脱敏策略对应着该表的一行或多行记录。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_MASKING_POLICY_FILTERS | GS_MASKING_POLICY_FILTERS系统表记录动态数据脱敏策略对应的用户过滤条件,当用户条件满足FILTER条件时,对应的脱敏策略才会生效。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_MATVIEW | GS_MATVIEW系统表提供了关于数据库中每一个物化视图的信息。 |
GS_MATVIEW_DEPENDENCY | GS_MATVIEW_DEPENDENCY系统表提供了关于数据库中每一个增量物化视图、基表和mlog表的关联信息。全量物化视图不存在与基表对应的mlog表,不会写入记录。 |
GS_MODEL_WAREHOUSE | GS_MODEL_WAREHOUSE系统表用于存储AI引擎训练模型,其中包含模型和训练过程的详细描述。 |
GS_OPT_MODEL | GS_OPT_MODEL是启用AiEngine执行计划时间预测功能时的数据表,记录机器学习模型的配置、训练结果、功能、对应系统函数、训练历史等相关信息。 |
GS_PACKAGE | GS_PACKAGE系统表记录PACKAGE内的信息。 |
GS_POLICY_LABEL | GS_POLICY_LABEL系统表记录资源标签配置信息,一个资源标签对应着一条或多条记录,每条记录标记了数据库资源所属的资源标签。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 |
GS_RECYCLEBIN | GS_RECYCLEBIN描述了回收站对象的详细信息。 |
GS_TXN_SNAPSHOT | GS_TXN_SNAPSHOT是时间戳-CSN映射表,周期性采样,并维护适当的时间范围,用于估算范围内的时间戳对应的CSN值。 |
GS_UID | GS_UID系统表存储了数据库中使用hasuids属性表的唯一标识元信息。 |
GS_WLM_EC_OPERATOR_INFO | GS_WLM_EC_OPERATOR_INFO系统表存储执行EC(Extension Connector)作业结束后的算子相关的记录。当设置GUC参数enable_resource_record为on时,系统会每3分钟将GS_WLM_EC_OPERATOR_HISTORY中的记录导入此系统表,开启此功能会占用系统存储空间并对性能有一定影响。查询该系统表需要sysadmin权限。 |
GS_WLM_INSTANCE_HISTORY | GS_WLM_INSTANCE_HISTORY系统表存储与实例(数据库主节点或数据库节点)相关的资源使用相关信息。该系统表里每条记录都是对应时间点某实例资源使用情况,包括:内存、CPU核数、磁盘IO、进程物理IO和进程逻辑IO信息。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。 |
GS_WLM_OPERATOR_INFO | GS_WLM_OPERATOR_INFO系统表显示执行作业结束后的算子相关的记录。此数据是从内核中转储到系统表中的数据。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。 |
GS_WLM_PLAN_ENCODING_TABLE | GS_WLM_PLAN_ENCODING_TABLE系统表显示计划算子级的编码信息,为机器学习模型的提供包括startup time、total time、peak memory、rows等标签值的训练、预测集。 |
GS_WLM_PLAN_OPERATOR_INFO | GS_WLM_PLAN_OPERATOR_INFO系统表显示执行作业结束后计划算子级的相关的记录。此数据是从内核中转储到系统表中的数据。 |
GS_WLM_SESSION_QUERY_INFO_ALL | GS_WLM_SESSION_QUERY_INFO_ALL系统表显示当前数据库实例执行作业结束后的负载管理记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将内核中query信息导入GS_WLM_SESSION_QUERY_INFO_ALL系统表。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。 |
GS_WLM_USER_RESOURCE_HISTORY | GS_WLM_USER_RESOURCE_HISTORY系统表存储与用户使用资源相关的信息。该系统表的每条记录都是对应时间点某用户的资源使用情况,包括:内存、CPU核数、存储空间、临时空间、算子落盘空间、逻辑IO流量、逻辑IO次数和逻辑IO速率信息。其中,内存、CPU、IO相关监控项仅记录用户复杂作业的资源使用情况。对于IO相关监控项,当参数enable_logical_io_statistics为on时才有效;当参数enable_user_metric_persistent为on时,才会开启用户监控数据保存功能。GS_WLM_USER_RESOURCE_HISTORY系统表的数据来源于PG_TOTAL_USER_RESOURCE_INFO视图。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。 |
PG_AGGREGATE | PG_AGGREGATE系统表存储与聚集函数有关的信息。PG_AGGREGATE里的每条记录都是一条pg_proc里面的记录的扩展。PG_PROC记录承载该聚集的名称、输入和输出数据类型,以及其它一些和普通函数类似的信息。 |
PG_AM | PG_AM系统表存储有关索引访问方法的信息。系统支持的每种索引访问方法都有一行。 |
PG_AMOP | PG_AMOP系统表存储有关和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。 |
PG_AMPROC | PG_AMPROC系统表存储有关与访问方法操作符族相关联的支持过程的信息。每个属于某个操作符族的支持过程都占有一行。 |
PG_APP_WORKLOADGROUP_MAPPING | PG_APP_WORKLOADGROUP_MAPPING系统表提供了数据库负载映射组的信息。 |
PG_ATTRDEF | PG_ATTRDEF系统表存储列的默认值。 |
PG_ATTRIBUTE | PG_ATTRIBUTE系统表存储关于表字段的信息。 |
PG_AUTH_HISTORY | PG_AUTH_HISTORY系统表记录了角色的认证历史。需要有系统管理员权限才可以访问此系统表。 |
PG_AUTH_MEMBERS | PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 |
PG_AUTHID | PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。 |
PG_CAST | PG_CAST系统表存储数据类型之间的转化关系。 |
PG_CLASS | PG_CLASS系统表存储数据库对象信息及其之间的关系。 |
PG_COLLATION | PG_COLLATION系统表描述可用的排序规则,本质上从一个SQL名称映射到操作系统本地类别。 |
PG_CONSTRAINT | PG_CONSTRAINT系统表存储表上的检查约束、主键和唯一约束。 |
PG_CONVERSION | PG_CONVERSION系统表描述编码转换信息。 |
PG_DATABASE | PG_DATABASE系统表存储关于可用数据库的信息。 |
PG_DB_ROLE_SETTING | PG_DB_ROLE_SETTING系统表存储数据库运行时每个角色与数据绑定的配置项的默认值。 |
PG_DEFAULT_ACL | PG_DEFAULT_ACL系统表存储为新建对象设置的初始权限。 |
PG_DEPEND | PG_DEPEND系统表记录数据库对象之间的依赖关系。这个信息允许DROP命令找出哪些对象必须由DROP CASCADE删除,或者是在DROP RESTRICT的情况下避免删除。 |
PG_DESCRIPTION | PG_DESCRIPTION系统表可以给每个数据库对象存储一个可选的描述(注释)。许多内置的系统对象的描述提供了PG_DESCRIPTION的初始内容。 |
PG_DIRECTORY | PG_DIRECTORY系统表用于保存用户添加的directory对象可以通过CREATE DIRECTORY语句向该表中添加记录,目前只有系统管理员用户可以向该表中添加记录。 |
PG_ENUM | PG_ENUM系统表包含显示每个枚举类型值和标签的记录。给定枚举类型的内部表示实际上是PG_ENUM里面相关行的OID。 |
PG_EXTENSION | PG_EXTENSION系统表存储关于已安装扩展的信息。Vastbase默认扩展是PLPGSQL和MOT_FDW。 |
PG_EXTENSION_DATA_SOURCE | PG_EXTENSION_DATA_SOURCE系统表存储外部数据源对象的信息。一个外部数据源对象(Data Source)包含了外部数据库的一些口令编码等信息,主要配合Extension Connector使用。 |
PG_FOREIGN_DATA_WRAPPER | PG_FOREIGN_DATA_WRAPPER系统表存储外部数据封装器定义。一个外部数据封装器是在外部服务器上驻留外部数据的机制,是可以访问的。 |
PG_FOREIGN_SERVER | PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 |
PG_FOREIGN_TABLE | PG_FOREIGN_TABLE系统表存储外部表的辅助信息。 |
PG_HASHBUCKET | PG_HASHBUCKET系统表存储hash bucket信息。 |
PG_INDEX | PG_INDEX系统表存储索引的一部分信息,其他的信息大多数在PG_CLASS中。 |
PG_INHERITS | PG_INHERITS系统表记录关于表继承层次的信息。数据库里每个直接的子系表都有一条记录。间接的继承可以通过追溯记录链来判断。 |
PG_JOB | PG_JOB系统表存储用户创建的定时任务的详细信息,定时任务线程定时轮询PG_JOB系统表中的时间,当任务到期会触发任务的执行,并更新PG_JOB表中的任务状态。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。 |
PG_JOB_PROC | PG_JOB_PROC系统表对应PG_JOB表中每个任务的作业内容(包括:PL/SQL代码块、匿名块),将存储过程信息独立出来。因为如果将存储过程信息放到PG_JOB中,在其被加载到共享内存时会占用不必要的空间,所以在使用的时候再进行查询获取。 |
PG_LANGUAGE | PG_LANGUAGE系统表登记编程语言,用户可以用这些语言或接口写函数或者存储过程。 |
PG_LARGEOBJECT | PG_LARGEOBJECT系统表保存那些标记着“大对象”的数据。一个大对象是使用其创建时分配的OID标识的。每个大对象都分解成足够小的小段或者“页面”以便以行的形式存储在PG_LARGEOBJECT里。每页的数据定义为LOBLKSIZE。 |
PG_LARGEOBJECT_METADATA | PG_LARGEOBJECT_METADATA系统表存储与大对象相关的元数据。实际的大对象数据存储在PG_LARGEOBJECT里。 |
PG_NAMESPACE | PG_NAMESPACE系统表存储名称空间,即存储schema相关的信息。 |
PG_OBJECT | PG_OBJECT系统表存储限定类型对象(普通表、索引、序列、视图、存储过程和函数)的创建用户、创建时间和最后修改时间。 |
PG_OPCLASS | PG_OPCLASS系统表定义索引访问方法操作符类。 |
PG_OPERATOR | PG_OPERATOR系统表存储有关操作符的信息。 |
PG_OPFAMILY | PG_OPFAMILY系统表定义操作符族。 |
PG_PARTITION | PG_PARTITION系统表存储数据库内所有分区表(partitioned table)、分区(table partition)、分区上toast表和分区索引(index partition)四类对象的信息。分区表索引(partitioned index)的信息不在PG_PARTITION系统表中保存。 |
PG_PLTEMPLATE | PG_PLTEMPLATE系统表存储过程语言的“模板”信息。 |
PG_PROC | PG_PROC系统表存储函数或过程的信息。 |
PG_PUBLICATION | 系统表PG_PUBLICATION包含当前数据库中创建的所有publication。 |
PG_PUBLICATION_REL | 系统表PG_PUBLICATION_REL包含当前数据库中的表和publication之间的映射,这是一种多对多映射。 |
PG_RANGE | PG_RANGE系统表存储关于范围类型的信息。除了PG_TYPE里类型的记录。 |
PG_REPLICATION_ORIGIN | PG_REPLICATION_ORIGIN系统表包含所有已创建的复制源,该表为全局共享表,即在每个节点上只有一份pg_replication_origin,而不是每个数据库一份。 |
PG_RESOURCE_POOL | PG_RESOURCE_POOL系统表提供了数据库资源池的信息。 |
PG_REWRITE | PG_REWRITE系统表存储为表和视图定义的重写规则。 |
PG_RLSPOLICY | PG_RLSPOLICY系统表存储行级访问控制策略。 |
PG_SECLABEL | PG_SECLABEL系统表存储数据对象上的安全标签。 |
PG_SHDEPEND | PG_SHDEPEND系统表记录数据库对象和共享对象(比如角色)之间的依赖性关系。这些信息允许Vastbase保证在企图删除这些对象之前,这些对象是没有被引用的。 |
PG_SHDESCRIPTION | PG_SHDESCRIPTION系统表为共享数据库对象存储可选的注释。可以使用COMMENT命令操作注释的内容,使用vsql的\d+命令查看注释内容。 |
PG_SHSECLABEL | PG_SHSECLABEL系统表存储在共享数据库对象上的安全标签。创建安全标签可以用CREATE SECURITY LABEL命令操作。 |
PG_STATISTIC | PG_STATISTIC系统表存储有关该数据库中表和索引列的统计数据。默认只有系统管理员权限才可以访问此系统表,普通用户需要授权才可以访问。 |
PG_STATISTIC_EXT | PG_STATISTIC_EXT系统表存储有关该数据库中表的扩展统计数据,包括多列统计数据和表达式统计数据(后续支持)。收集哪些扩展统计数据是由用户指定的。需要有系统管理员权限才可以访问此系统表。 |
PG_SUBSCRIPTION | 系统表PG_SUBSCRIPTION包含所有现有的逻辑复制订阅。需要有系统管理员权限才可以访问此系统表。 |
PG_SYNONYM | PG_SYNONYM系统表存储同义词对象名与其他数据库对象名之间的映射信息。 |
PG_TABLESPACE | PG_TABLESPACE系统表存储表空间信息。 |
PG_TRIGGER | PG_TRIGGER系统表存储触发器信息。 |
PG_TS_CONFIG | PG_TS_CONFIG系统表包含表示文本搜索配置的记录。一个配置指定一个特定的文本搜索解析器和一个为了每个解析器的输出类型使用的字典的列表。 |
PG_TS_CONFIG_MAP | PG_TS_CONFIG_MAP系统表包含为每个文本搜索配置的解析器的每个输出符号类型,应该查阅哪些文本搜索字典,以及按照什么顺序查阅。 |
PG_TS_DICT | PG_TS_DICT系统表包含定义文本搜索字典的记录。字典取决于文本搜索模板,该模板声明所有需要的实现函数;字典本身提供模板支持的用户可设置的参数的值。 |
PG_TS_PARSER | PG_TS_PARSER系统表包含定义文本解析器的记录。解析器负责分裂输入文本为词位,并且为每个词位分配标记类型。新解析器必须由数据库系统管理员创建。 |
PG_TS_TEMPLATE | PG_TS_TEMPLATE系统表包含定义文本搜索模板的记录。模板是文本搜索字典的类的实现框架。因为模板必须通过C语言级别的函数实现,索引新模板的创建必须由数据库系统管理员创建。 |
PG_TYPE | PG_TYPE系统表存储数据类型的相关信息。 |
PG_USER_MAPPING | PG_USER_MAPPING系统表存储从本地用户到远程的映射。 |
PG_USER_STATUS | PG_USER_STATUS系统表提供了访问数据库用户的状态。需要有系统管理员权限才可以访问此系统表。 |
PG_WORKLOAD_GROUP | PG_WORKLOAD_GROUP系统表提供了数据库负载组的信息。 |
PGXC_CLASS | PGXC_CLASS系统表存储每张表的复制或分布信息。PGXC_CLASS系统表仅在分布式场景下有具体含义,Vastbase只能查询表定义。 |
PGXC_GROUP | PGXC_GROUP系统表存储节点组信息。PGXC_GROUP系统表仅在分布式场景下有具体含义,Vastbase只能查询表定义。 |
PGXC_NODE | PGXC_NODE系统表存储集群节点信息。PGXC_NODE系统表仅在分布式场景下有具体含义,Vastbase只能查询表定义。 |
PGXC_SLICE | PGXC_SLICE表是针对range范围分布和list分布创建的系统表,用来记录分布具体信息,当前不支持range interval自动扩展分片,不过在系统表中预留。 |
PLAN_TABLE_DATA | PLAN_TABLE_DATA存储了用户通过执行EXPLAIN PLAN收集到的计划信息。与PLAN_TABLE视图不同的是PLAN_TABLE_DATA表存储了所有session和user执行EXPLAIN PLAN收集的计划信息。 |
STATEMENT_HISTORY | 获得当前节点的执行语句的信息。查询系统表必须具有sysadmin权限。只可在系统库中查询到结果,用户库中无法查询。 |