云服务器内容精选

  • PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 conname name 约束名称(不一定是唯一的)。 connamespace oid 包含这个约束的名称空间的OID。 contype "char" c = 检查约束 p = 主键约束 u = 唯一约束 t = 触发器约束 x = 互斥约束 f = 外键约束 s = 聚簇约束 i = 无效约束 condeferrable boolean 这个约束是否可以推迟。 true:表示可以。 false:表示不可以。 condeferred boolean 缺省时这个约束是否可以推迟。 true:表示可以。 false:表示不可以。 convalidated boolean 约束是否有效。目前,只有外键和CHECK约束可将其设置为FALSE。 true:表示有效。 false:表示无效。 conrelid oid 这个约束所在的表;如果不是表约束则为0。 contypid oid 这个约束所在的域;如果不是一个域约束则为0。 conindid oid 与约束关联的索引ID。 confrelid oid 如果是外键,则为参考的表;否则为0。 confupdtype "char" 外键更新动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 confdeltype "char" 外键删除动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 confmatchtype "char" 外键匹配类型。 f = 全部 p = 部分 u = 未指定(在f的基础上允许匹配NULL值) conislocal boolean 是否是为关系创建的本地约束。 true:表示是。 false:表示不是。 coninhcount integer 约束直接继承父表的数目。继承父表数非零时,不能删除或重命名该约束。 connoinherit boolean 是否可以被继承。 true:表示可以。 false:表示不可以。 consoft boolean 是否为信息约束(Informational Constraint)。 true:表示是。 false:表示不是。 conopt boolean 是否使用信息约束优化执行计划。 true:表示使用。 false:表示不使用。 conkey smallint[] 如果是表约束,则是约束控制的字段列表。 confkey smallint[] 如果是一个外键,是参考的字段的列表。 conpfeqop oid[] 如果是一个外键,是做PK=FK比较的相等操作符ID的列表。 conppeqop oid[] 如果是一个外键,是做PK=PK比较的相等操作符ID的列表。 conffeqop oid[] 如果是一个外键,是做FK=FK比较的相等操作符ID的列表。 conexclop oid[] 如果是一个排他约束,是列的排他操作符ID列表。 conbin pg_node_tree 如果是检查约束,那就是其表达式的内部形式。 consrc text 如果是检查约束,则是表达式的人类可读形式。 conincluding smallint[] 不用做约束,但是会包含在INDEX中的属性列。 consrc在被引用的对象改变之后不会被更新,它不会跟踪字段的名称修改。建议使用pg_get_constraintdef()来抽取一个检查约束的定义。 pg_class.relchecks需要和在该表上为给定关系找到的检查约束的数目一致。 父主题: 系统表
  • PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键和唯一约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 conname name 约束名称(不一定是唯一的)。 connamespace oid 包含这个约束的名称空间的OID。 contype "char" c = 检查约束 p = 主键约束 u = 唯一约束 t = 触发器约束 x = 互斥约束 f = 外键约束 s = 聚簇约束 i = 无效约束 condeferrable boolean 这个约束是否可以推迟。 condeferred boolean 缺省时这个约束是否可以推迟。 convalidated boolean 约束是否有效。目前,只有外键和CHECK约束可将其设置为FALSE。 conrelid oid 这个约束所在的表;如果不是表约束则为0。 contypid oid 这个约束所在的域;如果不是一个域约束则为0。 conindid oid 与约束关联的索引ID。 confrelid oid 如果是外键,则为参考的表;否则为0。 confupdtype "char" 外键更新动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 confdeltype "char" 外键删除动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 confmatchtype "char" 外键匹配类型。 f = 全部 p = 部分 u = 未指定(在f的基础上允许匹配NULL值) conislocal boolean 是否是为关系创建的本地约束。 coninhcount integer 约束直接继承父表的数目。继承父表数非零时,不能删除或重命名该约束。 connoinherit boolean 是否可以被继承。 consoft boolean 是否为信息约束(Informational Constraint)。 conopt boolean 是否使用信息约束优化执行计划。 conkey smallint[] 如果是表约束,则是约束控制的字段列表。 confkey smallint[] 如果是一个外键,是参考的字段的列表。 conpfeqop oid[] 如果是一个外键,是做PK=FK比较的相等操作符ID的列表。 conppeqop oid[] 如果是一个外键,是做PK=PK比较的相等操作符ID的列表。 conffeqop oid[] 如果是一个外键,是做FK=FK比较的相等操作符ID的列表。由于当前不支持外键,所以值为空。 conexclop oid[] 如果是一个排他约束,是列的排他操作符ID列表。 conbin pg_node_tree 如果是检查约束,那就是其表达式的内部形式。 consrc text 如果是检查约束,则是表达式的人类可读形式。 conincluding smallint[] 不用做约束,但是会包含在INDEX中的属性列。 consrc在被引用的对象改变之后不会被更新,它不会跟踪字段的名称修改。与其依赖这个字段,最好还是使用pg_get_constraintdef()来抽取一个检查约束的定义。 pg_class.relchecks需要和在此表上为给定关系找到的检查约束的数目一致。 父主题: 系统表
  • PG_AUTHID PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。 在一个集群中只有一份pg_authid,不是每个数据库有一份。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTHID字段 名称 类型 描述 oid oid 行标识符(隐藏属性,必须明确选择才会显示)。 rolname name 角色名称。 rolsuper boolean 角色是否是拥有最高权限的初始系统管理员。 rolinherit boolean 角色是否自动继承其所属角色的权限。 rolcreaterole boolean 角色是否可以创建更多角色。 rolcreatedb boolean 角色是否可以创建数据库。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 rolcanlogin boolean 角色是否可以登录,即该角色是否能够作为初始会话授权标识符。 rolreplication boolean 角色是一个复制的角色(适配作用,没有实际的功能)。 rolauditadmin boolean 审计用户。 rolsystemadmin boolean 管理员用户。 rolconnlimit integer 对于可以登录的角色,限制其最大并发连接数量。-1 表示没有限制。 rolpassword text 口令(可能是加密的),如果没有口令,则为NULL。 rolvalidbegin timestamp with time zone 账户的有效开始时间,如果没有开始时间,则为NULL。 rolvaliduntil timestamp with time zone 账户的有效结束时间,如果没有结束时间,则为NULL。 rolrespool name 用户所能够使用的resource pool。 roluseft boolean 角色是否可以操作外表。 rolparentid oid 用户所在组用户的OID。 roltabspace Text 用户永久表存储空间限额。 rolkind char 特殊用户种类,包括私有用户、逻辑集群管理员、普通用户。 rolnodegroup oid 用户所关联的Node Group OID,该Node Group必须是逻辑集群。 roltempspace Text 用户临时表存储空间限额。 rolspillspace Text 用户算子落盘空间限额。 rolexcpdata text 保留字段未使用。 rolauthinfo text 用户采用LDAP认证时的额外信息。如果是其他认证模式,则为NULL。 rolpwdexpire integer 用户口令过期时间,在口令未过期时,用户自己修改口令。过期后请管理员修改口令。-1表示没有过期时间限制。 rolpwdtime timestamp with time zone 口令的创建时间。 父主题: 系统表
  • PG_AUTHID PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。 在一个集群中只有一份pg_authid,不是每个数据库有一份。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTHID字段 名称 类型 描述 oid oid 行标识符(隐藏属性,必须明确选择才会显示)。 rolname name 角色名称。 rolsuper boolean 角色是否是拥有最高权限的初始系统管理员。 rolinherit boolean 角色是否自动继承其所属角色的权限。 rolcreaterole boolean 角色是否可以创建更多角色。 rolcreatedb boolean 角色是否可以创建数据库。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 rolcanlogin boolean 角色是否可以登录,即该角色是否能够作为初始会话授权标识符。 rolreplication boolean 角色是一个复制的角色(适配作用,没有实际的功能)。 rolauditadmin boolean 审计用户。 rolsystemadmin boolean 管理员用户。 rolconnlimit integer 对于可以登录的角色,限制其最大并发连接数量。-1 表示没有限制。 rolpassword text 口令(可能是加密的),如果没有口令,则为NULL。 rolvalidbegin timestamp with time zone 账户的有效开始时间,如果没有开始时间,则为NULL。 rolvaliduntil timestamp with time zone 账户的有效结束时间,如果没有结束时间,则为NULL。 rolrespool name 用户所能够使用的resource pool。 roluseft boolean 角色是否可以操作外表。 rolparentid oid 用户所在组用户的OID。 roltabspace Text 用户永久表存储空间限额。 rolkind char 特殊用户种类,包括私有用户、逻辑集群管理员、普通用户。 rolnodegroup oid 用户所关联的Node Group OID,该Node Group必须是逻辑集群。 roltempspace Text 用户临时表存储空间限额。 rolspillspace Text 用户算子落盘空间限额。 rolexcpdata text 保留字段未使用。 rolauthinfo text 用户采用LDAP或OneAccess认证时的额外信息。如果是其他认证模式,则为NULL。 rolpwdexpire integer 用户口令过期时间,在口令未过期时,用户自己修改口令。过期后请管理员修改口令。-1表示没有过期时间限制。 rolpwdtime timestamp with time zone 口令的创建时间。 父主题: 系统表
  • PG_AUTH_MEMBERS PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 表1 PG_AUTH_MEMBERS字段 名称 类型 描述 roleid oid 拥有成员的角色ID。 member oid 属于ROLEID角色的成员角色ID。 grantor oid 赋予此成员关系的角色ID。 admin_option boolean 如果有权限可以把ROLEID角色的成员关系赋予其他角色,则为真。 父主题: 系统表
  • PG_ATTRIBUTE PG_ATTRIBUTE系统表存储关于表字段的信息。 表1 PG_ATTRIBUTE字段 名称 类型 描述 attrelid oid 此字段所属表。 attname name 字段名。 atttypid oid 字段类型。 attstattarget integer 控制ANALYZE为这个字段积累的统计细节的级别。 零值表示不收集统计信息。 负数表示使用系统缺省的统计对象。 正数值的确切信息是和数据类型相关的。 对于标量数据类型,ATTSTATTARGET既是要收集的"最常用数值"的目标数目,也是要创建的柱状图的目标数量。 attlen smallint 是本字段类型的12.2.105 PG_TYPE中typlen的拷贝。 attnum smallint 字段编号。 attndims integer 如果该字段是数组,则是维数,否则是0 。 attcacheoff integer 在磁盘上的时候总是-1 ,但是如果加载入内存中的行描述器中,它可能会被更新以缓冲在行中字段的偏移量。 atttypmod integer 记录创建新表时支持的类型特定的数据(比如一个varchar字段的最大长度)。它传递给类型相关的输入和长度转换函数当做第三个参数。其值对那些不需要ATTTYPMOD的类型通常为-1。 attbyval boolean 这个字段类型的12.2.105 PG_TYPE中typbyval的拷贝。 attstorage "char" 这个字段类型的12.2.105 PG_TYPE中typstorage的拷贝。 attalign "char" 这个字段类型的12.2.105 PG_TYPE中typalign的拷贝。 attnotnull boolean 这代表一个非空约束。可以改变这个字段以打开或者关闭这个约束。 atthasdef boolean 这个字段有一个缺省值,此时它对应12.2.45 PG_ATTRDEF表里实际定义此值的记录。 attisdropped boolean 这个字段已经被删除了,不再有效。一个已经删除的字段物理上仍然存在表中,但会被分析器忽略,因此不能再通过SQL访问。 attislocal boolean 这个字段是局部定义在关系中的。请注意一个字段可以同时是局部定义和继承的。 attcmprmode tinyint 对某一列指定压缩方式。压缩方式包括: 0:ATT_CMPR_NOCOMPRESS,不压缩 1:ATT_CMPR_DELTA,DELTA压缩算法 2:ATT_CMPR_DICTIONARY,字典压缩算法 3:ATT_CMPR_PREFIX,前缀压缩算法 4:ATT_CMPR_NUMSTR,数字字符串压缩算法 attinhcount integer 这个字段所拥有的直接父表的个数。如果一个字段的父表个数非零,则它就不能被删除或重命名。 attcollation oid 对此列定义的校对列。 attacl aclitem[] 列级访问权限控制。 attoptions text[] 字段属性。目前支持以下两种属性: n_distinct,表示该字段的distinct值数量(不包含子表)。 n_distinct_inherited,表示该字段的distinct值数量(包含子表)。 attfdwoptions text[] 外表字段属性。当前支持的dist_fdw、file_fdw、log_fdw未使用外表字段属性。 attinitdefval bytea 存储了此列默认的值表达式。行存表的ADD COLUMN需要使用此字段。 attkvtype tinyint 对某一列指定key value类型。类型包括: 0:ATT_KV_UNDEFINED,默认。 1:ATT_KV_TAG,维度。 2:ATT_KV_FIELD,指标。 3:ATT_KV_TIMETAG,时间列。 4:ATT_KV_HIDETAG,隐藏分布列。 父主题: 系统表
  • PG_TS_PARSER PG_TS_PARSER系统表包含定义文本解析器的记录。解析器负责分裂输入文本为词位,并且为每个词位分配标记类型。因为解析器必须通过C语言级别的函数实现,所以新解析器必须由数据库系统管理员创建。 表1 PG_TS_PARSER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段;必须明确选择)。 prsname name - 文本搜索解析器名。 prsnamespace oid PG_NAMESPACE.oid 包含这个解析器的名称空间的OID。 prsstart regproc PG_PROC.proname 解析器的启动函数名。 prstoken regproc PG_PROC.proname 解析器的下一个标记函数名。 prsend regproc PG_PROC.proname 解析器的关闭函数名。 prsheadline regproc PG_PROC.proname 解析器的标题函数名。 prslextype regproc PG_PROC.proname 解析器的lextype函数名。 父主题: 系统表
  • PG_JOB_PROC PG_JOB_PROC系统表对应12.2.69 PG_JOB中每个任务的作业内容(包括:PL/SQL代码块、匿名块)。将存储过程信息独立出来,是因为如果放到PG_JOB中,被加载到共享内存的时候,会占用不必要的空间,所以在使用的时候再进行查询获取。普通用户需授权后才能访问。 表1 PG_JOB_PROC字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 job_id integer 外键,关联12.2.69 PG_JOB表中的job_id。 what text 作业内容,DBE_SCHEDULER定时任务中的程序内容。 job_name text DBE_SCHEDULER定时任务专用,定时任务或程序名称。 父主题: 系统表
  • PG_INHERITS PG_INHERITS系统表记录关于表继承层次的信息。数据库里每个直接的子系表都有一条记录。间接的继承可以通过追溯记录链来判断。 表1 PG_INHERITS字段 名称 类型 引用 描述 inhrelid oid PG_CLASS.oid 子表的OID。 inhparent oid PG_CLASS.oid 父表的OID。 inhseqno integer - 如果一个子表存在多个直系父表(多重继承),这个数字表明此继承字段的排列顺序。计数从1开始。 父主题: 系统表
  • PG_SHSECLABEL PG_SHSECLABEL系统表存储在共享数据库对象上的安全标签。安全标签可以用SECURITY LABEL命令操作。 查看安全标签的简单点的方法,请参阅PG_SECLABELS。 PG_SECLABEL的作用类似,只是它是用于在单个数据库内部的对象的安全标签的。 不同于大多数的系统表,PG_SHSECLABEL在GaussDB中的所有数据库中共享:每个GaussDB只有一个PG_SHSECLABEL,而不是每个数据库一个。 表1 PG_SHSECLABEL字段 名称 类型 引用 描述 objoid oid 任意OID属性 这个安全标签所属的对象的OID。 classoid oid PG_CLASS.oid 出现这个对象的系统目录的OID。 provider text - 与这个标签相关的标签提供程序。 label text - 应用于这个对象的安全标签。 父主题: 系统表
  • GS_MATVIEW GS_MATVIEW系统表提供了关于数据库中每一个物化视图的信息。 表1 GS_MATVIEW字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 matviewid oid 物化视图的oid。 mapid oid 物化视图map表的oid,map表为物化视图关联表,与物化视图一一对应。全量物化视图不存在对应的map表,该字段为0。 ivm boolean 物化视图的类型,t为增量物化视图,f为全量物化视图。 needrefresh boolean 保留字段。 refreshtime timestamp without time zone 物化视图上一次刷新时间,若未刷新则为null。仅对DN上的增量物化视图维护该字段,其余情况均为null。 父主题: 系统表
  • 系统表和系统视图概述 系统表是GaussDB存放结构元数据的地方,它是GaussDB数据库系统运行控制信息的来源,是数据库系统的核心组成部分。 系统视图提供了查询系统表和访问数据库内部状态的方法。 系统表和系统视图要么只对管理员可见,要么对所有用户可见。下面的系统表和视图有些标识了需要管理员权限,这些系统表和视图只有管理员可以查询。 用户可以删除后重新创建这些表、增加列、插入和更新数值,但是用户修改系统表会导致系统信息的不一致,从而导致系统控制紊乱。正常情况下不应该由用户手工修改系统表或系统视图,或者手工重命名系统表或系统视图所在的模式,而是由SQL语句关联的系统表操作自动维护系统表信息。 不建议用户修改系统表和系统视图的权限。 用户应该禁止对系统表进行增删改等操作,人为对系统表的修改或破坏可能会导致系统各种异常情况甚至数据库不可用。 系统表和系统视图中的字段类型详见数据类型章节介绍。 父主题: 系统表和系统视图
  • 系统表和系统视图概述 系统表是GaussDB存放结构元数据的地方,它是GaussDB数据库系统运行控制信息的来源,是数据库系统的核心组成部分。 系统视图提供了查询系统表和访问数据库内部状态的方法。 系统表和系统视图要么只对管理员可见,要么对所有用户可见。下面的系统表和视图有些标识了需要管理员权限,这些系统表和视图只有管理员可以查询。 用户可以删除后重新创建这些表、增加列、插入和更新数值,但是用户修改系统表会导致系统信息的不一致,从而导致系统控制紊乱。正常情况下不应该由用户手工修改系统表或系统视图,或者手工重命名系统表或系统视图所在的模式,而是由SQL语句关联的系统表操作自动维护系统表信息。 不建议用户修改系统表和系统视图的权限。 用户应该禁止对系统表进行增删改等操作,人为对系统表的修改或破坏可能会导致系统各种异常情况甚至集群不可用。 系统表和系统视图中与外键相关的字段暂不支持。 系统表和系统视图中的字段类型详见数据类型章节介绍。 父主题: 系统表和系统视图
  • 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 过滤条件的波兰表达式。 父主题: 系统表
  • 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)函数,其结果可能在任何时候变化v也用于那些有副作用的函数,因此调用它们无法得到优化。 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 函数具有默认值的入参的位置。 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参数)。 新建函数时,会向pg_proc表中插入数据,更新索引。当出入参个数很多时,索引的长度可能会超过页面的三分之一,进而可能会产生“Index row size xxx exceeds maximum xxx for index "pg_proc_proname_all_args_nsp_index"”的报错,此为预期情况。您可以通过减少参数个数,避免该报错的产生。 父主题: 系统表