Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

36.9。内部函数 #

内部函数是使用 C 编写的函数,已被静态链接到 PostgreSQL 服务器。函数定义的 body 指定函数的 C 语言名称,该名称不一定要与声明为 SQL 用途的名称相同。(出于向后兼容的考虑,接受空 body,表示 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 编写的。