云服务器内容精选

  • GS_TXN_SNAPSHOT GS_TXN_SNAPSHOT是“时间戳- CS N”映射表,周期性采样,并维护适当的时间范围,用于估算范围内的时间戳对应的CSN值。 表1 GS_TXN_SNAPSHOT字段 名称 类型 描述 snptime timestamp with time zone 快照捕获时间。 snpxmin bigint 快照xmin。 snpcsn bigint 快照csn。 snpsnapshot text 快照序列化文本。 父主题: 系统表
  • PG_PROC PG_PROC系统表存储函数或过程的信息。 表1 PG_PROC字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 proname name 函数名称。 pronamespace oid 包含该函数名称空间的OID。 proowner oid 函数的所有者。 prolang oid 这个函数的实现语言或调用接口。 procost real 估算的执行成本。 prorows real 估算的影响行的数目。 provariadic oid 参数元素的数据类型。 protransform regproc 此函数的简化调用方式。 proisagg boolean 函数是否是聚集函数。 t(true):表示是。 f(false):表示不是。 proiswindow boolean 函数是否是窗口函数。 t(true):表示是。 f(false):表示不是。 prosecdef boolean 函数是否是一个安全定义器(也就是一个“setuid”函数)。 t(true):表示是。 f(false):表示不是。 proleakproof boolean 函数是否没有副作用。如果函数没有对参数进行防泄露处理,则会抛出错误。 t(true):表示没副作用。 f(false):表示有副作用。 proisstrict boolean t(true):使用该函数时,如果入参有空值,则函数实际上不调用直接返回空。 f(false):使用该函数时,即使入参有空值,也要调用。所以该函数必须处理空输入。 proretset boolean 函数返回值是否为一个集合(也就是说,指定数据类型的多个数值)。 true:函数返回值是一个集合。 false:函数返回值不是一个集合。 provolatile "char" 该函数的结果是否只依赖于它的输入参数,或者还会被外界因素影响。 i:“不可变的”(immutable)函数,对于相同的输入总是产生相同的结果。 s:“稳定的”(stable)函数,(对于固定输入)其结果在一次扫描里不变。 v:“易变”(volatile)函数,其结果可能在任何时候变化,也用于那些有副作用的函数,因此调用它们无法得到优化。 pronargs smallint 参数数目。 pronargdefaults smallint 有默认值的参数数目。 prorettype oid 返回值的数据类型。 proargtypes oidvector 一个存放函数参数的数据类型的数组。数组里只包括输入参数(包括INOUT参数)此代表该函数的调用签名(接口)。 proallargtypes oid[] 一个包含函数参数的数据类型的数组。数组里包括所有参数的类型(包括OUT和INOUT参数),如果所有参数都是IN参数,则这个字段就会是空。请注意数组下标是以1为起点的,而因为历史原因,proargtypes的下标起点为0。 proargmodes "char"[] 一个保存函数参数模式的数组,编码如下: i表示IN参数。 o表示OUT参数。 b表示INOUT参数。 v表示VARIADIC参数。 如果所有参数都是IN参数,则这个字段为空。请注意,下标对应的是proallargtypes的位置,而不是proargtypes。 proargnames text[] 一个保存函数参数的名称的数组。没有名称的参数在数组里设置为空字符串。如果没有一个参数有名称,这个字段将是空。请注意,此数组的下标对应proallargtypes而不是proargtypes。 proargdefaults pg_node_tree 默认值的表达式树。是PRONARGDEFAULTS元素的列表。 prosrc text 描述函数或存储过程的定义。例如,对于解释型语言来说就是函数的源程序,或者一个连接符号,一个文件名,或者函数和存储过程创建时指定的其他任何函数体内容,具体取决于语言/调用习惯的实现。 probin text 关于如何调用该函数的附加信息。同样,其含义也是和语言相关的。 proconfig text[] 函数针对运行时配置变量的本地设置。 proacl aclitem[] 访问权限。具体请参见GRANT和REVOKE。 prodefaultargpos int2vector 函数具有默认值的入参的位置。 fencedmode boolean 函数的执行模式,表示函数是在fence还是not fence模式下执行。 true:fence模式,函数的执行会在重新fork的进程中执行。 false:not fence模式。 系统内建函数,fencedmode字段均为false,即not fence模式。 proshippable boolean 表示该函数是否可以下推到数据库节点上执行,默认值是false。 对于IMMUTABLE类型的函数,函数始终可以下推到数据库节点上执行。 对于STABLE/VOLATILE类型的函数,仅当函数的属性是SHIPPABLE的时候,函数可以下推到数据库节点执行。 propackage boolean 表示该函数是否支持重载,默认值是false。 t(true):表示支持。 f(false):表示不支持。 prokind "char" 表示该对象为函数还是存储过程。 'f':该对象为函数。 'p':该对象为存储过程。 proargsrc text 描述兼容A语法定义的函数或存储过程的参数输入字符串,包括参数注释。默认值为NULL。 proisprivate boolean 描述函数是否是PACKAGE内的私有函数,默认为false。 propackageid oid 函数所属的package oid,如果不在package内,则为0。 proargtypesext oidvector_extend 当函数参数较多时,用来存放函数参数的数据类型的数组。数组里只包括输入参数(包括INOUT参数),代表该函数的调用签名(接口)。 prodefaultargposext int2vector_extend 当函数参数较多时,函数具有默认值的入参的位置。 allargtypes oidvector 用来存放存储过程参数的数据类型的数组,包含存储过程所有参数(入参、出参、INOUT参数)。 allargtypesext oidvector_extend 当函数参数较多(大于666个)时,用来存放存储过程参数的数据类型的数组,包含所有参数(包含入参、出参、INOUT参数)。 父主题: 系统表
  • 系统表和系统视图概述 系统表是 GaussDB 存放结构元数据的地方,它是 GaussDB数据库 系统运行控制信息的来源,是数据库系统的核心组成部分。 系统视图提供了查询系统表和访问数据库内部状态的方法。 系统表和系统视图要么只对管理员可见,要么对所有用户可见。下面的系统表和视图有些标识了需要管理员权限,这些系统表和视图只有管理员可以查询。 用户可以删除后重新创建这些表、增加列、插入和更新数值,但是用户修改系统表会导致系统信息的不一致,从而导致系统控制紊乱。正常情况下不应该由用户手工修改系统表或系统视图,或者手工重命名系统表或系统视图所在的模式,而是由SQL语句关联的系统表操作自动维护系统表信息。 不建议用户修改系统表和系统视图的权限。 用户应该禁止对系统表进行增删改等操作,人为对系统表的修改或破坏可能会导致系统各种异常情况甚至数据库不可用。 系统表和系统视图中的字段类型详见数据类型章节介绍。 父主题: 系统表和系统视图
  • PG_REPLICATION_ORIGIN PG_REPLICATION_ORIGIN系统表包含所有已创建的复制源,该表在数据库实例的所有数据库之间共享,即每个实例只有一份,而不是每个数据库一份。 表1 PG_REPLICATION_ORIGIN字段 名称 类型 描述 roident oid 一个数据库实例范围内唯一的复制源标识符。 roname text 外部的由用户定义的复制源名称。 父主题: 系统表
  • PG_AMOP PG_AMOP系统表存储有关和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。 表1 PG_AMOP字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 amopfamily oid PG_OPFAMILY.oid 这个项的操作符族。 amoplefttype oid PG_TYPE.oid 操作符的左输入类型。可能取值及其描述见于数据类型。 amoprighttype oid PG_TYPE.oid 操作符的右输入类型。可能取值及其描述见于数据类型。 amopstrategy smallint - 操作符策略数。 amoppurpose "char" - 操作符目的。 s:表示搜索。 o:表示排序。 amopopr oid PG_OPERATOR.oid 该操作符的OID。 amopmethod oid PG_AM.oid 索引访问方式操作符族。 amopsortfamily oid PG_OPFAMILY.oid 如果是一个排序操作符,则为这个项排序所依据的btree操作符族;如果是一个搜索操作符,则为0。 search操作符表明这个操作符族的一个索引可以被搜索,找到所有满足WHERE indexed_column operator constant的行。显然,这样的操作符必须返回布尔值,并且它的左输入类型必须匹配索引的字段数据类型。 ordering操作符表明这个操作符族的一个索引可以被扫描,返回以ORDER BY indexed_column operator constant顺序表示的行。这样的操作符可以返回任意可排序的数据类型,它的左输入类型也必须匹配索引的字段数据类型。 ORDER BY的确切的语义是由amopsortfamily字段指定的,该字段必须为操作符的返回类型引用一个btree操作符族。 父主题: 系统表
  • GS_MASKING_POLICY_FILTERS GS_MASKING_POLICY_FILTERS系统表记录动态数据脱敏策略对应的用户过滤条件,当用户条件满足FILTER条件时,对应的脱敏策略才会生效。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_MASKING_POLICY_FILTERS表字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 filtertype name 过滤类型。目前值仅为logical_expr。 filterlabelname name 过滤范围。目前值仅为logical_expr。 policyoid oid 该条记录所属的脱敏策略的oid,对应GS_MASKING_POLICY中的oid。 modifydate timestamp without time zone 该条用户过滤条件创建或修改的最新时间戳。 logicaloperator text 过滤条件的波兰表达式。 父主题: 系统表
  • 系统表和系统视图概述 系统表是GaussDB存放结构元数据的地方,是GaussDB数据库系统运行控制信息的来源,是数据库系统的核心组成部分。 系统视图提供了查询系统表和访问数据库内部状态的方法。 系统表和系统视图要么只对管理员可见,要么对所有用户可见。下面的系统表和视图有些标识了需要管理员权限,这些系统表和视图只有管理员可以查询。 用户可以删除后重新创建这些表、增加列、插入和更新数值,但是用户修改系统表会导致系统信息的不一致,从而导致系统控制紊乱。正常情况下不应该由用户手工修改系统表或系统视图,或者手工重命名系统表或系统视图所在的模式,而是由SQL语句关联的系统表操作自动维护系统表信息。 不建议用户修改系统表和系统视图的权限。 用户应该禁止对系统表进行增删改等操作,人为对系统表的修改或破坏可能会导致系统各种异常情况甚至集群不可用。 gs_package系统表在分布式场景下能够查询到但是无意义。 系统表和系统视图中与外键相关的字段暂不支持。 系统表和系统视图中的字段类型详见数据类型章节介绍。 父主题: 系统表和系统视图
  • PG_CAST PG_CAST系统表存储数据类型之间的转化关系。 表1 PG_CAST字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 castsource oid 源数据类型的OID。 casttarget oid 目标数据类型的OID。 castfunc oid 转化函数的OID。如果为零表明不需要转化函数。 castcontext "char" 源数据类型和目标数据类型间的转化方式: 'e':表示只能进行显式转化(使用CAST或::语法)。 'i':表示能进行隐式转化。 'a':表示类型间同时支持隐式和显式转化。 castmethod "char" 转化方法: 'f':使用castfunc字段中指定的函数进行转化。 'b':类型间是二进制强制转化,不使用castfunc。 父主题: 系统表
  • GS_AUDITING_POLICY GS_AUDITING_POLICY系统表记录统一审计的主体信息,每条记录对应一个设计策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_AUDITING_POLICY字段 名称 类型 描述 oid oid 行标识符(隐藏属性,必须明确选择)。 polname name 策略名称,需要唯一,不可重复。 polcomments name 策略描述字段,记录策略相关的描述信息,通过COMMENTS关键字体现。 modifydate timestamp without time zone 策略创建或修改的最新时间戳。 polenabled boolean 用来表示策略启动开关。 t(true):表示策略启动。 f(false):表示策略没有启动。 父主题: 系统表
  • PGXC_CLASS PGXC_CLASS系统表存储每张表的复制或分布信息。 表1 PGXC_CLASS字段 名称 类型 描述 pcrelid oid 表的OID。 pclocatortype "char" 定位器类型。 H:hash G:Range L:List M:Modulo N:Round Robin R:Replication pchashalgorithm smallint 使用哈希算法分布元组。 pchashbuckets smallint 哈希容器的值。 pgroup name 节点群的名称。 redistributed "char" 表已经完成重分布。 redis_order integer 重分布的顺序。该值等于0的表在本轮重分布过程中不进行重分布。 pcattnum int2vector 用作分布键的列标号。 nodeoids oidvector_extend 表分布的节点OID列表。 options text 系统内部保留字段,存储扩展状态信息。 父主题: 系统表
  • GS_MATVIEW_DEPENDENCY GS_MATVIEW_DEPENDENCY系统表提供了关于数据库中每一个增量物化视图、基表和mlog表的关联信息。全量物化视图不存在与基表对应的mlog表,不会写入记录。 表1 GS_MATVIEW_DEPENDENCY字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 matviewid oid 物化视图的oid。 relid oid 物化视图基表的oid。 mlogid oid 物化视图mlog表的oid,mlog表为物化视图日志表,与基表一一对应。 mxmin int4 保留字段。 父主题: 系统表
  • PG_REWRITE PG_REWRITE系统表存储表和视图定义的重写规则。 表1 PG_REWRITE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 rulename name 规则名称。 ev_class oid 使用这条规则的表名称。 ev_attr smallint 这条规则适用的字段(目前总是为零,表示整个表)。 ev_type "char" 规则适用的事件类型。 1:SELECT 2:UPDATE 3:INSERT 4:DELETE ev_enabled "char" 用于控制复制的触发。 O:“origin”和“local”模式时触发。 D:禁用触发。 R:“replica”时触发。 A:任何模式都会触发。 is_instead boolean 如果该规则是INSTEAD规则,则为真,否则为假。 ev_qual pg_node_tree 规则的资格条件的表达式树(以nodeToString() 形式存在)。 ev_action pg_node_tree 规则动作的查询树(以nodeToString() 形式存在)。 父主题: 系统表
  • PGXC_GROUP PGXC_GROUP系统表存储节点组信息。PGXC_GROUP系统表在集中式场景下只能查询表定义。 表1 PGXC_GROUP字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 group_name name 节点组名称。 in_redistribution "char" 是否需要重分布。取值包括: n:表示NodeGroup没有再进行重分布。 y:表示NodeGroup是重分布过程中的源节点组。 t:表示NodeGroup是重分布过程中的目的节点组。 group_members oidvector_extend 节点组的节点OID列表。 group_buckets text 分布数据桶的集合。 is_installation boolean 是否安装子数据库实例。 t(true):表示安装。 f(false):表示不安装。 group_acl aclitem[] 访问权限。 group_kind "char" node group类型,取值包括: i:表示installation node group。 n:表示普通非逻辑数据库实例node group。 v:表示逻辑数据库实例node group。 e:表示弹性数据库实例。 group_parent oid 如果是子node group,该字段表示父node group的OID,如果是父node group,该字段值为空。 父主题: 系统表
  • PGXC_SLICE PGXC_SLICE表是针对range范围分布和list分布创建的系统表,用来记录分布具体信息,当前不支持range interval自动扩展分片,不过在系统表中预留。 表1 PGXC_SLICE字段 名称 类型 描述 relname name 表名或者分片名,通过type区分。 type "char" 't':relname是表名。 's':relname是分片的名字。 strategy "char" 'r':为range分布表。 'l':为list分布表。 后续interval分片会扩展该值。 relid oid 该tuple隶属的分布表oid。 referenceoid oid 所参考分布表的oid,用于slice reference建表语法。 sindex integer 当为list分布表时,表示当前boundary在某个分片内的位置。 interval text[] 预留字段。 transitboundary text[] 预留字段。 transitno integer 预留字段。 nodeoid oid 当relname为分片名时,表示该分片的数据存放在哪个DN上,nodeoid表示这个DN的oid。 boundaries text[] 当relname为分片名时,对应该分片的边界值。 specified boolean 当前分片对应的DN是否是用户在DDL中显示指定的。 sliceorder integer 用户定义分片的顺序。 父主题: 系统表
  • PG_AGGREGATE PG_AGGREGATE系统表存储与聚集函数有关的信息。PG_AGGREGATE里的每条记录都是一条pg_proc里面的记录的扩展。PG_PROC记录承载该聚集的名称、输入和输出数据类型,以及其它一些和普通函数类似的信息。 表1 PG_AGGREGATE字段 名称 类型 引用 描述 aggfnoid regproc PG_PROC.proname 此聚集函数的PG_PROC proname。 aggtransfn regproc PG_PROC.proname 转换函数。 aggcollectfn regproc PG_PROC.proname 收集函数。 aggfinalfn regproc PG_PROC.proname 最终处理函数(如果没有则为零)。 aggsortop oid PG_OPERATOR.oid 关联排序操作符(如果没有则为零)。 aggtranstype oid PG_TYPE.oid 此聚集函数的内部转换(状态)数据的数据类型。 可能取值及其含义见于pg_type.h中type定义,主要分为多态(isPolymorphicType)和非多态两类。 agginitval text - 转换状态的初始值。这是一个文本数据域,它包含初始值的外部字符串表现形式。如果数据域是null,则转换状态值从null开始。 agginitcollect text - 收集状态的初始值。这是一个文本数据域,它包含初始值的外部字符串表现形式。如果数据域是null,则收集状态值从null开始。 aggkind "char" - 此聚集函数类型: 'n' :表示Normal Agg 'o' :表示Ordered Set Agg aggnumdirectargs smallint - Ordered Set Agg类型聚集函数的直接参数(非聚集相关参数)数量。对Normal Agg类型聚集函数,该值为0。 agginitfn regproc PG_PROC.proname 初始化函数。 父主题: 其他系统表