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

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

不受支持的版本: 7.0 / 6.3
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

第 11 章 PL/Tcl - TCL 过程语言

PL/Tcl 是 Postgres 数据库系统的一种可加载过程语言,可以使用 Tcl 语言创建函数和 触发器过程。

本包最初由 Jan Wieck 编写。

11.1. 概述

除某些限制外,PL/Tcl 提供了函数编写者在 C 语言中所具备的大部分能力。

一个良性的限制是,所有内容都在一个安全的 Tcl 解释器(Tcl-interpreter)中执行。除了安全 Tcl 受限的命令集之外,只提供了少数通过 SPI 访问数据库以及通过 elog() 发出消息的命令。没有办法访问数据库后端的内部,也无法像在 C 中那样在 Postgres 用户 ID 的权限下获得操作系统级访问。 因此,任何非特权数据库用户都可以被允许使用这种语言。

另一个内在的限制是,Tcl 过程不能 用来为新数据类型创建输入/输出(input-/output-)函数。

如果在安装过程的配置步骤中指定了 Tcl/Tk 支持,则 PL/Tcl 调用处理器的 共享对象代码会自动构建并安装到 Postgres 的库目录中。

提交更正

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