↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 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 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

第 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 中,以后创建的所有数据库都会 自动安装该语言。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。