Chapter 26. PL/perl - Perl 过程语言

Table of Contents
26.1. 制作和安装
26.2. 使用 PL/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 里面,以后创建的所有数据库将自动安装 这个语言.