PG_PROC系统表存储函数或过程的信息。
表 1 PG_PROC字段
名称
类型
描述
oid
行标识符(隐藏属性,必须明确选择)。
proname
name
函数名称。
pronamespace
包含该函数名称空间的OID。
proowner
函数的所有者。
prolang
这个函数的实现语言或调用接口。
procost
real
估算的执行成本。
prorows
估算的影响行的数目。
provariadic
参数元素的数据类型。
protransform
regproc
此函数的简化调用方式。
prokind
"char"
函数类型,'f'代表普通函数,'p'代表存储过程,'a'代表聚集函数,'w'代表窗口函数。
prosecdef
Boolean
函数是一个安全定义器(也就是一个“setuid”函数)。
proleakproof
函数没副作用。如果函数没有对参数进行防泄露处理,则会抛出错误。
proisstrict
如果任何调用参数是空,则函数返回空。这时函数实际上连调用都不调用。不是“strict”的函数必须准备处理空输入。
proretset
函数返回一个集合(也就是说,指定数据类型的多个数值)。
provolatile
pronargs
smallint
参数数目。
pronargdefaults
有默认值的参数数目。
prorettype
返回值的数据类型。
proargtypes
oidvector
一个存放函数参数的数据类型的数组。数组里只包括输入参数(包括INOUT参数)此代表该函数的调用签名(接口)。
proallargtypes
oid[]
一个包含函数参数的数据类型的数组。数组里包括所有参数的类型(包括OUT和INOUT参数),如果所有参数都是IN参数,则这个字段就会是空。请注意数组下标是以1为起点的,而因为历史原因,proargtypes的下标起点为0。
proargmodes
"char"[]
一个保存函数参数模式的数组,编码如下:
proargnames
text[]
一个保存函数参数的名称的数组。没有名称的参数在数组里设置为空字符串。如果没有一个参数有名称,这个字段将是空。请注意,此数组的下标对应proallargtypes而不是proargtypes。
proargdefaults
pg_node_tree
默认值的表达式树。是PRONARGDEFAULTS元素的列表。
prosrc
text
描述函数或存储过程的定义。例如,对于解释型语言来说就是函数的源程序,或者一个链接符号,一个文件名,或者函数和存储过程创建时指定的其他任何函数体内容,具体取决于语言/调用习惯的实现。
probin
关于如何调用该函数的附加信息。同样,其含义也是和语言相关的。
proconfig
函数针对运行时配置变量的本地设置。
proacl
aclitem[]
访问权限。
prodefaultargpos
int2vector
函数具有默认值的入参的位置。
fencedmode
函数的执行模式,表示函数是在fence还是not fence模式下执行。如果是fence执行模式,函数的执行会在重新fork的进程中执行。
用户创建的C函数,fencedmode字段默认值均为true,即fence模式;系统内建函数,fencedmode字段均为false,即not fence模式。
proshippable
表示该函数是否可以下推到数据库节点上执行,默认值是false。
propackage
表示该函数是否支持重载,默认值是false。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型