第十一章. PL/Tcl - TCL 过程语言

内容
概述
描述
PL/Tcl 是一种用于 Postgres 数据库系统的可装载的过程化语言,它让我们可以用 Tcl 语言来创建函数和触发器过程.
这个软件包最初是由 Jan Wieck 开发的.

概述

PL/Tcl 提供 C 语言里面函数开发者所拥有的大多数功能,只有一点点限制除外.

好的限制是,所有东西都是在一个安全的 Tcl 解释器里面运行的.除了有限的安全的 Tcl 命令集外,只有很少的几个命令可以用于跨过 SPI 访问数据库以及通过 elog() 生成错误信息.不象 C 那样,(Tcl)没有办法访问数据库后端内部或者获得 OS 级的 Postgres 用户 ID 的权限.因此,任何非特权的数据库用户都可以被允许使用这种语言.

另外的(内部施加)的限制是 Tcl 过程不能创建用于新数据库类型的输入/输出函数.

如果在安装过程中的配置阶段打开了 Tcl/Tk 支持,那么用于 PL/Tcl 控制器的共享对象自动制作和安装在 Postgres 库目录里面.