pg_proc
#目录pg_proc
存储有关函数、过程、聚合函数和窗口函数(统称为例程)的信息。有关详细信息,请参见CREATE FUNCTION、CREATE PROCEDURE和第36.3节。
如果prokind
指示该条目是聚合函数,则pg_aggregate
中应存在一个匹配的行。
表 51.39. pg_proc
列
列 类型 描述 |
---|
行标识符 |
函数名称 |
包含此函数的命名空间的 OID |
函数的所有者 |
此函数的实现语言或调用接口 |
估计执行成本(以cpu_operator_cost为单位);如果 |
估计的结果行数(如果不是 |
可变参数数组参数的元素的数据类型,如果函数没有可变参数,则为零 |
此函数的规划器支持函数(请参见第36.11节),如果不存在,则为零 |
对于普通函数为 |
函数是安全定义者(即“setuid”函数) |
该函数没有副作用。除了通过返回值之外,不会传递有关参数的任何信息。任何可能根据其参数的值抛出错误的函数都不是防泄漏的。 |
如果任何调用参数为 null,则函数返回 null。在这种情况下,实际上根本不会调用该函数。不是“strict”的函数必须准备好处理 null 输入。 |
函数返回一个集合(即指定数据类型的多个值) |
|
|
输入参数的数量 |
具有默认值的参数数量 |
返回值的数据类型 |
函数参数的数据类型的数组。这仅包括输入参数(包括 |
函数参数的数据类型的数组。这包括所有参数(包括 |
函数参数模式的数组,编码为 |
函数参数名称的数组。没有名称的参数在数组中设置为空字符串。如果没有任何参数具有名称,则此字段将为 null。请注意,下标对应于 |
默认值的表达式树(以 |
要为其应用转换(来自函数的 |
这告诉函数处理程序如何调用函数。对于解释型语言,它可能是函数的实际源代码,链接符号,文件名或几乎任何其他内容,具体取决于实现语言/调用约定。 |
有关如何调用函数的其他信息。同样,解释是特定于语言的。 |
预解析的 SQL 函数体。当函数体以 SQL 标准表示法而不是作为字符串文字给出时,这将用于 SQL 语言函数。在其他情况下,它为 null。 |
函数的运行时配置变量的本地设置 |
访问权限;有关详细信息,请参见第5.8节 |
对于编译后的函数,包括内置函数和动态加载函数,prosrc
包含函数的 C 语言名称(链接符号)。对于 SQL 语言函数,如果函数源代码以字符串字面量指定,则 prosrc
包含函数的源代码文本;但如果函数体以 SQL 标准样式指定,则 prosrc
未使用(通常为空字符串),并且 prosqlbody
包含预解析的定义。对于所有其他当前已知的语言类型,prosrc
包含函数的源代码文本。 probin
为空,除非对于动态加载的 C 函数,在这种情况下,它给出包含该函数的共享库文件的名称。
如果您在文档中发现任何不正确的内容、与您对特定功能的体验不符的内容或需要进一步澄清的内容,请使用此表单报告文档问题。