↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.

第 26 章 PL/Perl - Perl 过程语言

PL/Perl 允许你用 Perl 编程语言编写函数,这些函数可以像 Postgres 内置的函数一样在 SQL 查询中使用。

PL/Perl 解释器是一个完整的 Perl 解释器。但为了维护系统的安全,某些操作已被禁用。一般来说,受限制的是那些与环境交互的操作。这包括文件句柄操作、require 和 use(用于外部模块)。应当注意这种安全并非绝对。事实上,几种拒绝服务攻击仍然可能—— 内存耗尽和无限循环是两个例子。

26.1. 构建和安装 #

如果你从源代码安装 Postgres,要构建并安装 PL/Perl,必须给 configure 脚本加上 --with-perl 选项。PL/Perl 要求安装 Perl 时 libperl 库被构建为共享对象。在撰写本文时,操作系统发行的 Perl 包几乎都不是这样。构建时会出现类似下面的消息来指出这一事实:

*****
* Cannot build PL/Perl because libperl is not a shared library.
* Skipped.
*****

因此你很可能必须手工重新构建并安装 Perl 才能构建 PL/Perl。

重新安装 Perl 后想重试构建 PL/Perl 时,切换到 Postgres 源代码树中的 src/pl/plperl 目录并执行命令

gmake clean
gmake all
gmake install

createlang 命令用来把该语言安装到一个数据库中。

$ createlang plperl template1

如果把它安装到 template1 中,以后创建的所有数据库都会自动安装该语言。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.