这个表存储关于函数(或过程)的信息.
CREATE FUNCTION
和
程序员手册
包含一些域的更多信息.
Table 3-15. pg_proc 字段
名字 |
类型 |
引用 |
描述 |
proname |
name
|
|
函数名字 |
proowner |
int4
|
pg_shadow.usesysid |
函数所有者(创建者) |
prolang |
oid
|
pg_language.oid |
这个函数的实现语言或调用接口 |
proisinh |
bool
|
|
未用 |
proistrusted |
bool
|
|
不能工作 |
proiscachable |
bool
|
|
函数对相同输入返回相同结果 |
proisstrict |
bool
|
|
如果任何调用参数是空,那么函数返回空.这时函数实际上连调用都不调用.
不是
"strict"
的函数必须准备处理空输入.
|
pronargs |
int2
|
|
参数数目 |
proretset |
bool
|
|
函数返回结果集(也就是声明的数据类型的多个数值) |
prorettype |
oid
|
pg_type.oid |
返回值的数据类型(如果函数不返回值则为0) |
proargtypes |
oidvector
|
pg_type.oid |
带数据类型的函数参数的向量 |
probyte_pct |
int4
|
|
死代码 |
properbyte_cpu |
int4
|
|
死代码 |
propercall_cpu |
int4
|
|
死代码 |
prooutin_ratio |
int4
|
|
死代码 |
prosrc |
text
|
|
这个字段告诉函数句柄如何调用该函数.它实际上对于解释语言来说就是
函数的源程序,或者一个链接符号,一个文件名,或者是任何其他的东西,
具体取决于语言/调用习惯的实现.
|
probin |
bytea
|
|
关于如何调用该函数的附加信息.同样,其含义也是和语言相关的.
|
目前,如果是编译函数的话,prosrc 包含函数的 C 语言名字(链接符号),
包括内建函数和动态装载的函数.对于所有其它语言类型,prosrc 包含该
函数的源文本.
目前,probin 除了用于动态装载的 C 函数之外没有其它用途,
这个时候它给出包含给函数的共享库的文件名.
|