《PostgreSQL服务器编程》高清PDF彩色扫描版简介
PostgreSQL可以为你提供所有在你擅长的开发语言中可以实现的功能,并且可 以在数据库服务器上扩展这些功能。在蓬勃发展的商业市场中,如果你掌握了足够的 PostgreSQL相关知识,你将有能力应对当前人才市场对高级PostgreSQL技能的强烈 需求。
本书将向你展示出Postg reSQL远远不止是一个数据库服务器。实际上,它是一 个应用程序开发框架,这种框架的优势在于其具备事务支持、大量数据存储、日志系 统、恢复等功能,以及许多PostgreSQL引擎提供的优秀特性。
本书将带你学习PostgreSQL函数的基础部分。在学习过程中,你将会使用各种 程序语言(不限于自带的PL/pgSQL语言)逬行函数的编写。
通过阅读本书,你将学到
- 编写函数并创建你自己的数据类型,所有这些都可以用你擅长的编程语言实现。
- 使用内置的PL/pgSQL^程语言,编写和调试函数与触发器。
- 从外部数据源抽取数据。
- 安装与管理扩展应用,创建与发布你自己的扩展应用。
决定你的程序将使用什么样的硬件资源。
如何使用你自己的开发语言来扩展数据库内核,使其拥有你自己的特性。
《PostgreSQL服务器编程》高清PDF彩色扫描版精彩内容节选
- 数据库被认为是不利的
看待服务器程序设计的最简单、最省事的方法是把数据库看做一个数据桶。你只需要 使用最基础的SQL语句,比如INSERT. SELECT, UPDATE fD DELETE,就可以每次操 作一个单一的数据行,而且你还可以轻松地为多数据库创建应用程序库。
这个方法有一些明显的缺陷。以每次一行的方式在数据库服务器之间移动数据,这种 方式的效率极低,并且你也会发现这种方法在网络架构的应用程序中完全不可行。
这个观点经常和“数据抽象层”联系在一起,这是一种客户端库文件,它允许开发者 花费较少的力气将数据库从应用程序下面分离出来。这个抽象层在开源开发社区中是非常 有用的,它可以被使用在多种数据库上,并且不需要财务上的扶持就可以获得最佳的性能。
在27年的职业生涯中,在没有抛弃应用程序的情况下,我从来没有改变过任何一个应 用所使用的数据库。敏捷软件开发的原则之一是YAGNI (你并不需要它)。这就是其中的一 个例子。
经验总结:数据抽象对项目来说是有价值的,尤其是对于那些在安装的时候需要选择 数据库平台的项目。对于任何其他人,只需要说no。
- 封装
另一个偏向于客户端开发体系的技巧是尝试将数据库中具体的调用分离到一个程序库 中。这个设计的目标通常是让应用程序对所有业务逻辑进行控制。在这种情况下,应用程 序仍然扮演着国王的角色,而数据库仅仅是受国王控制的一个必要的祸害。
这个数据库架构的观点揭露了应用程序开发者的短处,就比如他们忽略了一个装满了 工具的工具箱而仅仅选择了那把锤子。应用程序中的所有东西到时候都被绘制得像一枚枚 钉子,然后开发者可以使用锤子敲打它们。
经验总结:千万不要仅仅因为对数据库不熟悉,就放弃数据库所能带来的强大力量。 使用过程化语言,检查一下扩展应用的工具包。那里有一些很棒的产品。
- PostgreSQL可以提供什么
到目前为止,我们已经提到了过程化语言、函数、触发器、定制的数据类型和运算符。 这些东西可以在数据库里面通过CREATE命令直接创建,或者使用扩展应用被添加为库 文件。
现在我将向你展示一些事情,这些事情是你在PostgreSQL的服务器上进行程序设计的 时候所需要记住的。
- 数据位置
如果可以的话,尽量将数据保存在服务器上。请相信我,数据在服务器上会更加顺畅, 当修改数据的时候性能会更好。如果所有的事情都在应用层完成的话,首先数据需要从数 据库端返回给程序,然后进行修改操作,最后把数据发送回数据库去执行这个事务。如果 你正在开发一个网络架构的应用程序,你最不该考虑的就是上述方法。
《PostgreSQL服务器编程》高清PDF彩色扫描版目录
第1章介绍了 PostgreSQL程序设计的功能。该章阐述了服务器程序设计的基本概念,并 通过一些真实案例来衡量评估这项技术。
第2章讨论了 PostgreSQL的开发环境。该章从PostgreSQL的商业优势与技术优势等角度 出发,举例说明了人们为什么会选择在PostgreSQL中编程。
第3章介绍了 PL/pgSQL这种存储过程语言。该章主要介绍了函数的基础结构和函数的几 个关键组成部分。
第4章在对PL/pgSQL介绍的基础之上,介绍了返回结构化数据的功能,并展示了怎么将 复杂的数据返回给一个应用程序。其中采用了几种不同的方法,并对每种方法的优缺点进行 了对比分析。
第5章主要探究了如何基于数据库中发生的事件而触发执行服务端处理逻辑。该章介绍 了触发器的概念,并对一些相关案例进行深入讨论。
第6章展示了如何对服务端程序进行调试。该章首先介绍了基于日志的简单通知机制, 继而阐述了如何使用交互式的图形调试器进行调试工作。
第7章重点关注了 PL/pgSQL语言之外的其他服务端开发语言。该章选择了 Python作为 开发语言,通过函数在数据库外完成其他处理工作。
第8章深入探讨了我们该如何使用原生的C代码进行PostgreSQL扩展。通过几个详细的 实例,阐述了几种基础理念,这几种理念可以大大增强PostgreSQL的原生开发功能。
第9章主要阐述了另外一种存储过程语言,这种语言可以让PostgreSQL超越单一的物理 服务器。同时该章也讨论了一些实用的技术,通过这些技术可以高效地拆分数据,从而进行 服务器扩展。
第10章讨论了 PostgreSQL扩展程序网络架构,包括如何将代码模块发布到开源社区。
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 进阶PostgreSQL数据库编程教程《PostgreSQL服务器编程》高清PDF彩色扫描版【35M 196页】
常见问题FAQ
- 没有金币/金币不足 怎么办?
- 本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
- 所有资源普通会员都能下载吗?
- 本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。