天天看点

《PostgreSQL服务器编程》一一

本节书摘来自华章计算机《postgresql服务器编程》一书中的第3章,第3.1节,作者:(美)hannu krosing, jim mlodgenski, kirk roybal 著

,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

pl/pgsql是一个功能强大的sql脚本语言,其深受pl/sql的影响。pl/sql是由oracle分发的存储过程语言。作为postgresql产品中的一个标准部分,pl/pgsql存在于绝大多数的postgresql安装文件中,所以基本不需要对它进行重复设置。

pl/pgsql也有一个肮脏的小秘密。postgresql的开发者们并不希望你知道,pl/pgsql是一个成熟的 sql开发语言,其能够在postgresql数据库内漂亮地实现所有的

功能。

为什么说这是一个秘密?多年以来,postgresql并没有声称要拥有存储过程。pl/pgsql函数最初被设计用来返回标量值,且打算用来处理简单的数学任务和普通的字符串操作。

通过多年的发展,pl/pgsql逐渐拥有了一套丰富的控制结构,并借助触发器、运算符和索引获得了各种能力。最后,它迫使开发者们相当不情愿地承认了这么一个事实:他们手上确实拥有了一套完整的存储过程开发系统。

如今,使用pl/pgsql的好处有如下几点:

易于上手

在大多数postgresql部署中为默认项

为数据密集型任务进行性能优化

除了pl/pgsql,postgresql也支持许多可以插入到数据库中的其他语言。本书也会介绍其中的一些语言。你也可以选择perl、python、php、bash以及其他语言,进行函数编写,但你可能需要将它们加入到你的postgresql实例中。