好的限制是,所有东西都是在一个安全的 Tcl 解释器里面运行的.除了有限的安全的 Tcl 命令集外,只有很少的几个命令可以用于跨过 SPI 访问数据库以及通过 elog() 生成错误信息.不象 C 那样,(Tcl)没有办法访问数据库后端内部或者获得 OS 级的 Postgres 用户 ID 的权限.因此,任何非特权的数据库用户都可以被允许使用这种语言.
另外的(内部施加)的限制是 Tcl 过程不能创建用于新数据库类型的输入/输出函数.
如果在安装过程中的配置阶段打开了 Tcl/Tk 支持,那么用于 PL/Tcl 控制器的共享对象自动制作和安装在 Postgres 库目录里面.