返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

33.8. 内部函数

发布于 2019-09-30 03:09:09 字数 607 浏览 903 评论 0 收藏 0

内部函数都是用 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
    STRICT;

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文