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

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.2 已于 2007 年 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 函数的 编写者必须注意函数不能被用来做任何 不希望的事,因为它将能做以 数据库管理员身份登录的用户 能做的任何事。注意 数据库系统只允许数据库超级用户在非受信任 语言中创建 函数。

提交更正

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