历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.
3.15. pg_proc #
该目录存储关于函数(或过程)的信息。CREATE FUNCTION 的描述和程序员指南包含某些字段含义的更多信息。
表 3.15. pg_proc 列
| 名称 | 类型 | 引用 | 描述 |
|---|---|---|---|
| proname | name | 函数的名字 | |
| proowner | int4 | pg_shadow.usesysid | 函数的所有者(创建者) |
| prolang | oid | pg_language.oid | 实现语言或该函数的调用接口 |
| proisinh | bool | 未使用 | |
| proistrusted | bool | 不具功能 | |
| proiscachable | bool | 函数对相同的输入值返回相同的结果 | |
| proisstrict | bool | 当任一调用参数为 NULL 时,函数是否返回空值。在这种情况下,函数实际上根本不会被调用。非“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 函数,此时它给出包含该函数的共享库文件名。