pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
内部函数由 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 编写。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。