内部函数

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 35. 扩展SQL | 下一页

# 35.8. 内部函数

内部函数都是用C写的函数，它们已经通过静态链接的方式嵌入 PostgreSQL服务器进程中了。 函数定义的"函数体"确定了函数的C语言名称， 它不必与给 SQL 使用的名称相同。出于向下兼容考虑， 一个空的函数体也可以被接受， 这意味着 C 函数名与 SQL 函数名相同。

通常，所有在服务器里出现的内部函数都在数据库初始化时定义(参阅第 17.2 节)。 但是用户可以用`CREATE FUNCTION`为内部函数创建额外的别名。 内部函数在`CREATE FUNCTION`命令里是带着`internal`语言名声明的。 比如，要给`sqrt`函数创建一个别名：

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

（大多数内部函数都应该声明为"strict"）。

> 注意: 并非所有"预定义"的函数都像上面那样是"内部的"。 有些预定义的函数是用 SQL 写的。

上一页 | 起始页 | 下一页
过程语言函数 | 上一级 | C-语言函数