《PostgreSQL服务器编程》一一2.4 可预测性

2.4 可预测性

这部分也可以同样被称为“标准符合性”,但我还是决定放弃这个标题,因为在企业项目中“标准符合性”的优点并不明显。常见数据库的局限性是有据可查的。我可以立刻告诉你几个网站,你可以在这些网站上对比哪个数据库拥有最“离奇的意外情况”。我鼓励你阅读一些材料,并同时思考这样一个问题,“哪些功能开发的方法最有可能使我的应用在将来有所突破?”

剧透:严格遵守标准意味着不允许出现含糊的行为。不允许出现含糊的行为则会使开发者的生活变得更加困难。而开发者的生活变得困难则意味着开发者对于命令的解读在日后将不会改变,也不会使当前的应用程序有所突破。
究竟你能承担何种程度的懒惰呢?我不知道如何来衡量它。 PostgreSQL对于无成本的未来是可预见性的,所以我不必回答这个问题。
当然,PostgreSQL也会有一些错误。然而,对数据库核心的更改使PostgreSQL变得越来越像其文档中所描述的那样,不做过多的标准约束。很多时候,PostgreSQL的开发者不必说,“哎呀,我没想到这一点”。如果他们真这样说了,PostgreSQL只会变得更加符合
标准。

时间: 2024-08-02 17:27:14

《PostgreSQL服务器编程》一一2.4 可预测性的相关文章

《PostgreSQL服务器编程》一一导读

前 言 PostgreSQL服务器远远不只是一台数据库服务器.实际上,PostgreSQL甚至可以承担起一个应用程序开发框架的角色,这个框架的优势在于其具备事务支持.大量数据存储.日志记录.系统恢复等功能,以及PostgreSQL引擎提供的许多优秀特性.在蓬勃发展的商业化时代,如果你掌握了足够的PostgreSQL相关知识,你将有能力满足当前人才市场对高级PostgreSQL技能的强烈需求. 本书将带你学习PostgreSQL函数基础知识.在学习过程中,你将会使用各种程序语言(不限于自带的PL/

《PostgreSQL服务器编程》一一第1章 PostgreSQL服务器简介

第1章 PostgreSQL服务器简介 如果你认为PostgreSQL服务器仅仅是一个存储系统,和它交流的唯一办法就是通过SQL语句,那么你就严重了低估了它的特性.这仅仅是这个数据库的特性之一.PostgreSQL服务器是个强大的架构,它可以用来完成各种各样的数据处理,甚至包括一些非数据服务器的工作.它是一个服务器平台,你可以在这个平台上对各种流行的编程语言开发的函数或库进行简单的组合与匹配.我们来看一下这种复杂的多语言工作顺序:1)调用以Perl编写的字符串解析函数.2)把字符串转换成XSLT

《PostgreSQL服务器编程》一一1.8 程序设计最佳实践

1.8 程序设计最佳实践 开发应用程序软件是复杂的.一些有助于管理复杂性的方法非常流行,以至于它们被赋予容易记忆的首字母缩略词.接下来,我们就会介绍一些这样的规则,并介绍如何在服务器程序设计时更好地遵守这些规则.1.8.1 KISS--尽量简单(keep it simple stupid)成功的程序设计的一个重要技术就是编写简单的代码.也就是,你编写的代码3年以后仍然可以很容易理解,并且其他人也可以理解.这种方式并不一定总是行得通,但是尽可能用最简单的方法编写代码总是有意义的.由于各种原因,比如

《PostgreSQL服务器编程》一一2.7 小结

2.7 小结 现在你对PostgreSQL的环境已经有了一些了解,同时你也了解了一些对未来有所帮助的内容.架构PostgreSQL就是为了处理你的需求.但更重要的是,它不会在将来某一天将你全盘推翻.我们已经接触了一些环境的相关知识,当在PostgreSQL的服务器上编程时,我们脑海里也能涌现出一些重要的知识点.如果你没有记住所有的内容,也不要着急.在下一章中,我们会引入一些真正有用的函数.届时,你可以再回到本章,温故而知新,更深入地理解函数的特征.

《PostgreSQL服务器编程》一一2.6 过程化语言

2.6 过程化语言 SQL Server允许你使用任何产生CLR的语言来创建DLL.这些DLL必须在启动的时候被加载到服务器里面.为了在运行时间创建一个程序,并且使它立即可用,唯一的选择就是内建的SQL方言--Transact SQL(TSQL). MySQL有一个叫做插件的功能.其中一种合法的插件类型是过程化语言.几种语言完成加工后,借由插件系统可以和MySQL一起工作.这些语言包括了最流行的几种语言,比如PHP.Python等.这些函数不能被用在存储过程与触发器中,但是它们可以被普通SQL语

《PostgreSQL服务器编程》一一3.2 PL/pgSQL函数的结构

3.2 PL/pgSQL函数的结构 如果我们想运行一个PL/pgSQL函数,实际上并不需要太多元素.以下就是一个非常简单的例子: 前面这个函数显示了最少元素的PL / pgSQL函数.该函数为substring内置函数创建了一个别名mid.对于Microsoft SQL Server或者MySQL的开发者而言,这是一个非常合适的别名,并且他们可以弄明白mid函数的实现过程.同时,这个函数也阐述了最基础的参数传递策略.这些参数在函数中并未被命名而是通过从左至右的相对位置被访问的. PL / pgS

《PostgreSQL服务器编程》一一3.3 条件表达式

3.3 条件表达式 条件表达式允许开发者通过明确的标准来控制函数的动作.下面这个例子使用了CASE语句,通过值来控制字符串的处理.如果该值为空,或者包含一个零长度字符串,则视为空. 这里的设想是,当全名中的任何一个元素缺失时,周边的标点符号和空格也应同时缺失.这个函数会返回一个美国人的全名,且希望名称的各个部分尽可能的完整.当运行这个函数时,我们会看到以下内容: 条件表达式的另外一种使用方法是使用IF/THEN/ELSE块.以下是相同的函数,但使用了IF语句而不是CASE语句. PostgreS

《PostgreSQL服务器编程》一一1.10 总结——为什么在服务器中进行程序设计

1.10 总结--为什么在服务器中进行程序设计 我们在服务器端完成大部分数据操作编程工作,主要优势有以下几点.1.10.1 性能我们进行基于数据的计算几乎总是性能为王,也就是,我们会努力使获得数据的时间周期变得更短.通常在一个典型的数据密集型计算中,我们的大多数时间都集中花费在获得数据上.因此,在计算中,如何使数据访问变得更快就是使整个计算过程变得更高效的最好方法.在我的笔记本电脑上,从100000行记录的数据库中,随机查询一行并返回客户端需要花费2.2ms,但是在数据库内部获取数据,这个操作仅

《PostgreSQL服务器编程》一一1.2 关于本书的代码示例

1.2 关于本书的代码示例 这里输出显示的示例都是使用PostgreSQL的psql工具创建的,psql工具通常是在Linux系统上运行的.如果你使用一个GUI工具(比如pgAdmin3)去访问服务器,绝大多数的代码同样是生效的.当你看见以下的代码行时: postgres=#部分是psql命令显示的提示.本书中的例子已经在PostgreSQL 9.2中测试通过,它们应该可以在PostgreSQL 8.3或更高版本中运行.相比PostgreSQL最近几个版本上的服务器程序设计,其实并没有发生多少根