历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.
9.4. 内部函数 #
内部函数由 C 编写并且已经被静态链接到 PostgreSQL 服务器中。该函数定义的“主体”指定该函数的 C 语言名称,它不必与为 SQL 使用而声明的名称相同。(出于向后兼容的原因,也接受空主体,此时会认为 C 语言函数名与 SQL 函数名相同。)
通常,服务器后端中出现的所有内部函数都在数据库集簇初始化(initdb)期间声明,但用户可以用
CREATE FUNCTION
为内部函数创建额外的别名。内部函数在
CREATE FUNCTION
中用语言名
internal
声明。例如,为
sqrt
函数创建一个别名:
CREATE FUNCTION square_root(double precision) RETURNS double precision
AS 'dsqrt'
LANGUAGE INTERNAL
WITH (isStrict);(大多数内部函数都期望被声明为“严格”的。)
注意
上述意义上,并非所有“预定义”的函数都是“内部”函数。有些预定义的函数由 SQL 编写。