前言

前言

PostgreSQL 宣称自己是世界上最先进的开源数据库。我们非常赞同这种说法。

我们希望本书能帮助读者在 PostgreSQL 的核心概念与功能特性等方面打下坚实的基础,正是这些先进的概念与功能特性使得这款数据库如此杰出和与众不同。同时我们将使读者相信,PostgreSQL“最先进的开源数据库”这一称号是实至名归的。这款数据库体系庞大、功能先进,因此如果一本书试图将其强大特性介绍清楚,其篇幅一定不会少于 3500 页。事实上,大多数用户并不需要摸透它所有复杂深奥的高级功能,因此在这本不到 300 页的书中,我们希望能够帮助读者提纲挈领抓住要点,从而做到像本书书名所宣称的那样——即学即用。

本书在介绍每个功能点的同时都会附带其适用的上下文场景,这样读者就可以了解每个功能点的适用范围以及功能表现。我们假设读者已经具备了其他数据库的使用经验,这样我们就可以直奔主题,介绍 PostgreSQL 的关键功能点,而不必在预先普及数据库基础知识上浪费时间。我们在一些必要的地方附上了相关资源,以便于读者深入钻研感兴趣的功能点。这些资源的内容多种多样,比如官方手册的特定章节、网上有帮助的文章以及 PostgreSQL 大牛们的博客文章等,当然也包括我们自己的官网 Postgre Online Journal 上的一些文章,这个网站上有我们自己编写的很多 PostgreSQL 相关文章,也有一些研究 PostgreSQL 与其他应用之间互操作性的文章。

本书主要介绍 PostgreSQL 9.5、PostgreSQL 9.6 以及 PostgreSQL 10,但也会涉及之前版本中一些独特的高级特性。

本书读者

对于从其他数据库引擎迁移到 PostgreSQL 的读者来说,我们将在本书中列出其他数据库的高级特性在 PostgreSQL 中的实现方法。更重要的是,我们会重点介绍一些在 PostgreSQL 中可以实现而在其他数据库中很难或者不可能实现的高级功能。

本书不会教读者怎么写 SQL,相关学习资料有很多,因此这不是本书的重点。学习 SQL 就像学习下棋——几个小时就能了解基本规则,但要熟练掌握却需要终身持续学习。你会发现选择 PostgreSQL 是一个明智的决定,并将因此而受益终身。

如果你是对 PostgreSQL 非常熟悉的老用户或者是经验丰富的 DBA,那么本书中的大量内容你都会觉得很熟悉,但即便如此,你也一定可以学到新版 PostgreSQL 中引入的一些新特性,也很可能会了解到一些在老版本中已经提供但此前被你遗漏的功能点。好吧,如果你对于书中内容均已了解,那么本书对你来说依然有价值,因为它比官方的 PostgreSQL 手册要轻得多,最起码是便于携带了。

如果你还没接触过 PostgreSQL,那么本书将扮演你身边的 PostgreSQL“布道师”的角色。这位“布道师”将向你证明:多用那些很弱的数据库一天,你的系统就不得不多做一天功能上的妥协;多绑在商业数据库上一天,你就会被那些厂商掏走更多的钱。

最后,如果你的工作与数据库领域甚至是 IT 界毫无关系,又或者你刚刚幼儿园毕业,那么能否购买本书呢?答案依然是“可以”!因为封面上可爱的象鼩鼠图片就已经让本书物有所值了。

关于PostgreSQL的更多信息

PostgreSQL 有一套制作精良的在线文档,建议读者收藏它。这套文档有 HTML 和 PDF 两种格式,还有纸质印刷版。

其他可用的 PostgreSQL 资源如下。

  • Planet PostgreSQL 是 PostgreSQL 技术博客文章的汇聚站点,其中包含从 PostgreSQL 核心开发人员到普通用户编写的各类文章,包括新特性用法介绍、原有特性的巧妙用法以及已发现但尚未正式修复的 bug 报告。
  • PostgreSQL Wiki 提供对 PostgreSQL 各个方面的使用技巧说明,以及从其他数据库移植到 PostgreSQL 的方法。
  • PostgreSQL Books 提供有关 PostgreSQL 的图书列表信息。
  • PostGIS in Action Books 是我们已出版的关于 PostGIS 和 pgRouting 插件的图书的官方站点。PostGIS 是 PostgreSQL 上的空间数据管理插件,pgRouting 是基于 PostGIS 的一款网络路径规划插件,在导航出行类应用中经常要用到。

代码与输出格式

对于括号中的内容,我们一般会将左括号与之前的内容放置于同一行,右括号单独放置一行。这是经典的 C 语言排版风格,我们比较喜欢,因为它可以减少空行数。格式如下:

function (
         Welcome to PostgreSQL
);

为节省版面,我们还移除了命令行执行输出结果中无意义的空格,因此如果发现实际输出结果的格式与书中提供的不一致,请不要担心,这是正常的。

当一行中存在多个逗号时,如果每个元素的长度都比较短,我们会把逗号之后的空格去掉。比如:('a', 'b', 'c')。

PostgreSQL 的 SQL 解释器会将语句中的制表符、换行符和回车符当作空白处理。在我们提供的示例代码中,一般会使用空白而不是制表符作为缩进符。请确保使用的代码编辑器不会自动将制表符、换行符和回车符删除,或者把它们转换为空格以外的字符,否则会导致问题。

如果在执行示例代码时遇到了问题,请检查你复制过来的代码与我们提供的原始代码是否一致。

注意,有些示例适用于 Linux,而有些适用于 Windows。传统上,二者的路径分隔符是不同的,Linux 下是斜杠(/),而 Windows 下是反斜杠(\)。但请注意:在 PostgreSQL 中,即使是 Windows 环境下,也一定要使用 Linux 的 / 作为路径分隔符,而不是 Windows 传统的 \。你会看到示例代码中有类似于 /postgresql_book/somefile.csv 这样的路径,这指的是 Linux 服务器根目录下的路径。如果使用的是 Windows 环境,那么需要加上驱动器符,因此路径要改为:C:/postgresql_book/somefile.csv

排版约定

本书将使用如下排版约定。

  • 黑体

    表示新术语。

  • 等宽字体(constant width

    表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。

  • 加粗等宽粗体(constant width bold

    表示应该由用户输入的命令或其他文本。

  • 斜体等宽斜体(constant width italic

    表示应替换成用户提供的值或由上下文决定的值。

 该图标表示提示或建议。

 该图标表示警告或警示。

使用代码示例

代码和数据示例可以从 http://www.postgresonline.com/downloads/postgresql_book_3e.zip 下载。

本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无须联系我们获得许可。比如,用本书的几个代码片段写一个程序就无须获得许可,销售或分发 O'Reilly 图书的示例光盘则需要获得许可;引用本书中的示例代码回答问题无须获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。

我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和 ISBN。比如:“PostgreSQL: Up and Running, Third Edition by Regina Obe and Leo Hsu (O'Reilly). Copyright 2018 Regina Obe and Leo Hsu, 978-1-491-96341-8.”

如果你觉得自己对示例代码的用法超出了上述许可的范围,欢迎你通过 permissions@ oreilly.com 与我们联系。

O'Reilly Safari

Safari(原来叫 Safari Books Online)是一个会员制的培训和参考平台,面向企业、政府、教育机构和个人。

会员可以访问几千种图书、培训视频、学习路径、互动式教程和精选播放列表,提供这些资源的出版商超过 250 家,包括 O'Reilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology,等等。

要获得更多信息,请访问 http://oreilly.com/safari

联系我们

请把对本书的评价和问题发给出版社。美国:

  O'Reilly Media, Inc.

  1005 Gravenstein Highway North

  Sebastopol, CA 95472

中国:

  北京市西城区西直门南大街 2 号成铭大厦 C 座 807 室(100035)

  奥莱利技术咨询(北京)有限公司

对于本书的评论和技术性问题,请发送电子邮件到:bookquestions@oreilly.com

要提交勘误,请访问本书的勘误页面(https://www.oreilly.com/catalog/errata.csp?isbn=0636920052715)。1

1本书中文版勘误请到 http://www.ituring.com.cn/book/2460 查看和提交。——编者注

本书的配套网站地址是:https://www.oreilly.com/catalog/errata.csp?isbn=0636920052715

要联系本书作者,请发送邮件到 lr@pcorp.us

对于本书的评论和技术性问题,请发送电子邮件到:bookquestions@oreilly.com

要了解更多有关 O'Reilly 图书、培训课程、会议和新闻的信息,请访问以下网站:http://www.oreilly.com

我们在 Facebook 的地址如下:http://facebook.com/oreilly

请关注我们的 Twitter 动态:http://twitter.com/oreillymedia

我们的 YouTube 视频地址如下:http://www.youtube.com/oreillymedia

电子书

扫描如下二维码,即可购买本书电子版。

{%}

目录