|
Chapter 25. PL/Perl - Perl 过程语言
PL/Perl 是一种可装载的过程语言,通过它我们可以 用 Perl 编程语言写 PostgreSQL 函数. 25.1. 概述通常,PL/Perl 是安装成 "可信的" 编程语言的,名字叫 plperl .如果这样安装的话,那么有些 Perl 操作就被 关闭掉以保护安全性.通常,受限制的操作是那些与环境交互的功能. 包括文件句柄操作, require ,和 use (对于外部模块). 我们不可能象 C 函数那样访问数据库后端的内部或者获取 PostgreSQL 用户 ID 权限的 OS 层次的访问. 因此,任何非特权数据库用户都可以使用这门语言. 有时候我们需要写一些不受限制的 Perl 函数 --- 比如,我们可能需要一个 Perl 函数来发邮件.要处理这种情况,我们也可以把 PL/Perl 安装成一门 "不可信的" 语言(通常叫做 plperlu ). 在这种情况下我们就可以使用完整的 Perl 语言.PL/PerlU 函数的作者必需 注意保证该函数不会用于做任何分外的事情,因为它能干任何以数据库管理员 身份登录的用户所能干的事情.请注意数据库系统只允许数据库超级用户 创建不可信的语言书写的函数. |