PostgreSQL 提供了在 SQL 和 C 以外的语言中创建用户定义函数或触发器过程的功能。这些语言被称为"过程语言
" (PLs),是扩展 PostgreSQL 的强大方式。
PostgreSQL 的内置过程语言
是 PL/pgSQL,默认情况下存在于所有数据库中。另外三种过程语言 - PL/Perl
,PL/Python
和 PL/Tcl
- 构成 PostgreSQL 基本发行版的一部分,但在编译 PostgreSQL 时需要显式启用。(大多数软件包管理系统将这些包含为单独的软件包)。
还有一些由第三方项目维护但未包含在 PostgreSQL 基本发行版中的其他过程语言可用;有关详细信息,请参阅下面的列表。
请注意,过程语言(除了PL/pgSQL
)必须在每个将要使用它们的数据库中显式启用。过程语言只能由数据库超级用户启用。
可用的过程语言
核心过程语言
外部维护的过程语言
参考资料
- PostgreSQL 文档: 过程语言
- PostgreSQL 文档: 附录 H.3. - 过程语言
有用链接
- 创建 PostgreSQL 过程语言 - 第 1 部分:设置 - 2020 2ndQuadrant 博客文章
- 创建 PostgreSQL 过程语言 - 第 2 部分:嵌入 Julia - 2020 2ndQuadrant 博客文章