支持的版本:当前 (16) / 15 / 14 / 13 / 12
开发版本:devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

38.9. 内部函数 #

内部函数是用 C 编写的函数,已静态链接到 PostgreSQL 服务器中。函数定义的 body 指定了函数的 C 语言名称,该名称不必与为 SQL 使用而声明的名称相同。(出于向后兼容性的原因,接受空 body,表示 C 语言函数名称与 SQL 名称相同。)

通常,服务器中存在的所有内部函数都在数据库集群初始化期间声明(请参阅 第 19.2 节),但是用户可以使用 CREATE FUNCTION 为内部函数创建其他别名。内部函数在 CREATE FUNCTION 中声明,语言名称为 internal。例如,为 sqrt 函数创建别名

CREATE FUNCTION square_root(double precision) RETURNS double precision
    AS 'dsqrt'
    LANGUAGE internal
    STRICT;

(大多数内部函数希望被声明为 strict。)

注意

并非所有 预定义 函数在上述意义上都是 内部 函数。一些预定义函数是用 SQL 编写的。

提交更正

如果您在文档中看到任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。