pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
PL/Perl 允许你用 Perl 编程语言编写函数, 这些函数可以像 Postgres 内置的函数一样在 SQL 查询中使用。
PL/Perl 解释器是一个完整的 Perl 解释器。但为了维护系统的 安全,某些操作已被 禁用。一般来说, 受限制的是那些与环境 交互的操作。这包括文件句柄 操作、require 和 use(用于 外部模块)。应当注意这种安全 并非绝对。事实上,几种拒绝 服务攻击仍然可能—— 内存耗尽和无限循环是两个 例子。
如果你从源代码安装 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 中,以后创建的所有数据库都会 自动安装该语言。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。