PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Chapter 40. 过程语言

Table of Contents

40.1. 安装过程语言

PostgreSQL 允许使用除标准 SQL 和 C 语言之外的其他编程语言来编写用户自定义函数与存储过程。这些语言被统称为过程语言(Procedural Languages,简称 PL)。对于使用特定过程语言编写的函数,数据库内核本身并不包含直接解析执行该脚本源码的内置逻辑,而是将执行任务统一委托给一个熟悉该语言执行细节的专用语言调用处理器(Language Handler)。调用处理器既可以自行承担脚本的代码解析与动态执行,也可以充当数据库与外部第三方语言运行时引擎之间的交互“粘合剂”。调用处理器本身也是一个采用 C 语言编写、编译为动态共享对象(.so/.dll)并在需要时按需动态加载的特殊函数。

官方标准发行版中自带了四种核心过程语言: PL/pgSQL(Chapter 41)、 PL/Tcl(Chapter 42)、 PL/Perl(Chapter 43)以及 PL/Python(Chapter 44)。 开源社区还提供了涵盖 V8 JavaScript(PL/v8)、R 语言(PL/R)、Lua 等海量外部过程语言插件。此外,用户也可以自行开发全新的语言处理器(详见 Chapter 57)。