目录
PostgreSQL 允许使用 SQL 和 C 以外的其他语言编写用户定义函数。这些其他语言通常称为过程语言(PLs)。对于用过程语言编写的函数,数据库服务器没有内置的关于如何解释函数源文本的知识。相反,此任务将传递给一个了解该语言的详细信息的特殊处理程序。处理程序可以自己完成解析、语法分析、执行等工作,或者作为 PostgreSQL 和编程语言现有实现之间的““转换器””。处理程序本身是一个编译成共享对象、并在需要时加载的 C 语言函数,就像任何其他 C 函数一样。
标准 PostgreSQL 发行版中目前有四种可用的过程语言:PL/pgSQL(第 41 章),PL/Tcl(第 42 章),PL/Perl(第 43 章)和 PL/Python(第 44 章)。还有一些额外的过程语言不在核心发行版中。附录 H 中提供了有关如何找到它们的信息。此外,用户还可以定义其他语言;在 第 56 章 中介绍了开发新的过程语言的基础知识。