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

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.2 已结束支持。 请参阅 当前版本手册.

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

PL/Perl 是一种可装载的过程语言,它使 Perl 编程语言可以用来编写 PostgreSQL 函数。

25.1. 概述 #

通常,PL/Perl 作为一个名为 plperl 的“受信任”编程语言安装。在这种设置下,某些 Perl 操作被禁用以保障安全。一般来说,受限制的是那些与环境交互的操作。这包括文件句柄操作、require 和 use(用于外部模块)。没有办法访问数据库后端的内部,也无法在 PostgreSQL 用户 ID 的权限下获得 OS 级访问——而 C 函数可以做到。因此,任何非特权数据库用户都可以被允许使用这种语言。

有时需要编写不受限制的 Perl 函数——例如,可能需要一个发送邮件的 Perl 函数。为了处理这些情况,PL/Perl 还可以作为一种“非受信任”语言安装(通常命名为 plperlu)。这种情况下完整的 Perl 语言都可用。PL/PerlU 函数的编写者必须注意函数不能被用来做任何不希望的事,因为它将能做以数据库管理员身份登录的用户能做的任何事。注意数据库系统只允许数据库超级用户在非受信任语言中创建函数。

报告文档问题

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