内部函数是使用 C 语言编写并已静态链接到 PostgreSQL 服务器中的函数。函数定义中的“主体”指定了函数的 C 语言名称,该名称不必与用于 SQL 的声明名称相同。(出于向后兼容性的原因,接受空主体表示 C 语言函数名与 SQL 名称相同。)
通常,服务器中存在的所有内部函数都在数据库集群初始化期间声明(参见 第 18.2 节),但是用户可以使用 CREATE FUNCTION
为内部函数创建额外的别名。内部函数在 CREATE FUNCTION
中以语言名称 internal
声明。例如,要为 sqrt
函数创建别名
CREATE FUNCTION square_root(double precision) RETURNS double precision AS 'dsqrt' LANGUAGE internal STRICT;
(大多数内部函数都期望被声明为“严格”(strict)。)
并非所有“预定义”函数都具有上述意义上的“内部”函数。一些预定义函数是用 SQL 编写的。
如果您在文档中发现任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。