2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 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

36.9. 内部函数 #

内部函数是使用 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 编写的。

提交更正

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