举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > PostgreSQL 概述

PostgreSQL 概述

2023-05-24 16:18 PostgreSQL 概述

 PostgreSQL 概述

PL/Tcl 提供了大部分函数编写者在 C 语言中能够获得的能力,虽然有一些限制,但是却额外提供了 Tcl 中强大的字符串处理库。

一种强制性的限制是所有被执行的东西都处于 Tcl 解释器的安全上下文中。除了安全 Tcl 的有限的命令集合之外,只有几个通过 SPI 访问数据库的命令以及通过elog()产生消息的命令。PL/Tcl 没有提供访问数据库服务器内部或者在PostgreSQL服务器进程权限之下得到 OS-级访问的方法,而 C 函数是可以那样做的。因此,非特权数据库用户可以使用这种语言,它不会给予他们无限制的权利。

其他值得注意的实现限制是 Tcl 函数不能被用来创建新数据类型的输入/输出函数。

有时候我们想要编写不受安全 Tcl 限制的 Tcl 函数。例如,我们可能想要一个能发送电子邮件的 Tcl 函数。要处理这些情况,可以使用一种PL/Tcl的变体,它被称为PL/TclU(用于非可信 Tcl)。它其实是完全相同的一种语言,不过它使用了一个完整的 Tcl 解释器。如果使用了PL/TclU,它必须被安装为一种非可信的过程语言 ,这样只有数据库超级用户可以用它来创建函数。PL/TclU函数的编写者必须注意该函数不能被用来做其设计目的之外的事情,因为该函数能做一个作为数据库管理员登录的用户可以做的任何事情。

如果在安装过程的配置步骤中指定了 Tcl 支持,PL/Tcl以及PL/TclU调用处理器的共享对象代码会被自动编译并且被安装在PostgreSQL的库目录中。要在一个特定数据库中安装PL/Tcl或者PL/TclU,请使用 CREATE EXTENSION命令,例如CREATE EXTENSION pltcl或者CREATE EXTENSION pltclu

阅读全文
以上是编程学为你收集整理的 PostgreSQL 概述全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 消息数据类型

    PostgreSQL 消息数据类型

    2023-05-06

    本节描述消息里用到的基本数据类型。Intn(i)一个网络字节序(高位在前)的n位整数。 如果指定了i, 它就是将出现的准确值,否则...

  •  PostgreSQL 当使用颜色时

    PostgreSQL 当使用颜色时

    2023-04-28

    要使用颜色输出, 设置环境变量PG_COLOR如下:如果值为 always, 则颜色被应用.如果值为 auto 并且标准错误流被关联到终端设备, 则...

  •  PostgreSQL 删除

    PostgreSQL 删除

    2023-05-16 PostgreSQL 删除

    数据行可以用DELETE命令从表中删除。假设你对Hayward的天气不再感兴趣,那么你可以用下面的方法把那些行从表中删除:DELETE FROM...

  •  PostgreSQL 系统列

    PostgreSQL 系统列

    2023-06-10 PostgreSQL 系统列

    每一个表都拥有一些由系统隐式定义的system columns。因此,这些列的名字不能像用户定义的列一样使用(注意这种限制与名称是否为...

  •  PostgreSQL 依赖跟踪

    PostgreSQL 依赖跟踪

    2023-05-31

    当我们创建一个涉及到很多具有外键约束、视图、触发器、函数等的表的复杂数据库结构时,我们隐式地创建了一张对象之间的依赖关系...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部