This page in: Burmese / Chinese / English / French / German / Hebrew / Indonesian / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Thai / Vietnamese

PostgreSQL 11 Press Kit - Chinese

Contents

Original Press Release

2018-10-18,全球开发组今天宣布,PostgreSQL 11 正式发布。PostgreSQL 作为世界上最先进的开源关系型数据库,11.0 是迄今为止的最新版本。

PostgreSQL 11 重点提升了系统性能,尤其是在大数据集和高计算负载场景下。它对表分区功能进行了重大改进,增加了支持事务管理的存储过程,提升了并行查询和并行数据定义能力,并引入 JIT 编译来加速查询中表达式的执行。

“对 PostgreSQL 11,我们的开发社区聚焦于提升 PostgreSQL 管理大数据集的新特性的开发”, PostgreSQL 全球开发组核心开发成员 Bruce Momjian 说道,“在已被证明 PostgreSQL 擅长于事务类负载的基础上,PostgreSQL 11 又增加了让开发人员扩展大数据应用更加容易的功能”。

得益于超过20年以上的开源产品开发,PostgreSQL 已成长为开发者喜爱的开源关系数据库产品。系统持续得到行业的认可,2017年度被 DB-Engines 评选为 “2017年度优秀数据库” ,2018年度又被 SD Times 2018 100(软件开发周刊)评选为2018年度表现最佳之100种产品中“数据库及数据库管理类”的产品。

PostgreSQL 11 是自2017-10-5发布 PostgreSQL 10 以来首个主版本的发布。下次针对 PostgreSQL 11 的补丁修正版本将会是 PostgreSQL 11.1 版本,而下一个包含大量新特性的主版本将是 PostgreSQL 12.

增强的健壮性和分区表性能的提升

PostgreSQL 11 在目前版本已有了按值列表或是按范围作为分区键值的分区表功能外,又增加了按哈希键值分区的功能,也称之为“Hash 分区”。PostgreSQL 11 还通过在分区功能中使用外部数据包装器 postgres_fdw 的功能,也进一步提升了数据聚合能力。

为了帮助管理分区,PostgreSQL 11 引入了将不含有分区键值的记录自动转入缺省分区的功能,并增加了在(主表)执行创建主键、外键、索引和触发器时,会将这些操作全部自动复制给所有分区表的功能。另外 PostgreSQL 11 现在也支持当记录中的分区键值字段被更新后,会自动将该记录移至新的正确的分区表中的功能。

PostgreSQL 11 版本通过使用新的分区消除策略来提升查询分区表的性能。另外,PostgreSQL 11 现在在分区表上也支持流行的“UPSERT”功能,这可以帮助用户在处理应用数据时,简化应用程序的开发,减少网络负载。

支持内置事务的存储过程

开发人员在 PostgreSQL 可以创建用户自定义的函数超过20年了,但在 PostgreSQL 11 版本前,这些函数是不能控制它们自己的事务的。PostgreSQL 11 版本增加了 SQL 标准存储过程的特性,并且支持在过程中执行完整的事务管理功能。这个新特性允许开发人员创建更多更高级的服务端应用,比如涉及大量数据的增量导入功能。

SQL 过程是使用 CREATE PROCEDURE 指令创建,执行时使用 CALL 指令,现在服务端的过程语言有 PL/pgSQL、PL/Perl、PL/Python 和 PL/Tcl。

并行查询的增强

PostgreSQL 11 提升了并行查询的性能,通过更加有效的分区数据扫描,在并行顺序扫描和哈希聚合方面性能有了更大的改进。即使是组成 UNION 的查询子句不能并行处理时,PostgreSQL 现在也可以对使用 UNION 的 SELECT 查询并行处理。

PostgreSQL 11 也对几种数据集的定义指令增加了并行处理功能,最显著的就是通过 CREATE INDEX 指令创建的 B-树索引。其他几种支持并行化操作的还有 CREATE TABLE .. ASSELECT INTOCREATE MATERIALIZED VIEW 等创建表和物化视图的操作。

表达式的 (JIT) 编译

PostgreSQL 11 版本引入了 JIT 编译来加速查询中的表达式的计算和执行。JIT 表达式的编译使用 LLVM 项目编译器的架构来提升在 WHERE 条件、指定列表、聚合、投影以及一些内部操作的表达式的编译执行。

要使用 JIT 编译,用户需要安装 LLVM 相关的依赖包,并在系统 中启用 JIT 编译,可通过在 PostgreSQL 的配置文件中设置 jit = on,或是在 PostgreSQL 当前会话中执行 SET jit = on 指令均可启用 JIT。

一般性的用户体验提升

对 PostgreSQL 关系数据库的改进,没有一个活跃的用户社区和 PostgreSQL 开发人员的长期努力工作,是不可能实现的。下面所列的都是 PostgreSQL 11 版本众多特性中的一些提升用户友好性的亮点:

  • 改变 ALTER TABLE .. ADD COLUMN .. DEFAULT .. 指令在带有非 NULL 缺省值时需要重写整个表的操作,新的变化对这样的指令带来了极大的性能量级提升;
  • “覆盖索引”操作,允许用户在创建一个索引通过使用 INCLUDE 选项来增加额外字段,这样会对无 B-树索引列的查询来使用 Index-Only 的扫描有很大好处;
  • 更多的窗口函数功能,包括允许 RANGE 来使用 PRECEDING / FOLLOWINGGROUPS,窗口的非包含功能等;
  • 给 PostgreSQL 的命令行程序 psql 增加了关键字 quitexit,以让用户(按各种习惯)更加容易退出这个程序。

新版本中的完整的新特性列表,请参阅这里的: 发布声明,网址是:https://www.postgresql.org/docs/11/release-11.html

关于 PostgreSQL

PostgreSQL 是最先进的开源关系型数据库,它的全球社区是一个由数千名用户、开发人员、公司或其他组织组成的群体。PostgreSQL 项目有30年以上的历史,起源于加利福尼亚大学伯克利分校,经历了无数次开发升级。PostgreSQL 的专业特性不仅包含顶级商业数据库系统的功能特性,更是在高级数据库功能、数据库扩展性、数据库安全性和稳定性方面超过了它们。若想获取到更多关于 PostgreSQL 的信息或者加入到 PostgreSQL 社区,请浏览 PostgreSQL.org 网站。

More About the Features

For explanations of the above features and others, please see the following resources:

Where to Download

There are several ways you can download PostgreSQL 11, including:

Other tools and extensions are available on the PostgreSQL Extension Network.

Documentation

PostgreSQL 11 comes with HTML documentation HTML documentation as well as man pages, and you can also browse the documentation online in both HTML and PDF formats

Licence

PostgreSQL uses the PostgreSQL License, a BSD-like "permissive" license. This OSI-certified license is widely appreciated as flexible and business-friendly, since it does not restrict the use of PostgreSQL with commercial and proprietary applications. Together with multi-company support and public ownership of the code, our license makes PostgreSQL very popular with vendors wanting to embed a database in their own products without fear of fees, vendor lock-in, or changes in licensing terms.

Contacts

Website

Email

Images and Logos

PostgreSQL Logo

All logos are available for modification and redistribution under The PostgreSQL Licence. The PostgreSQL name and logo are trademarks of The PostgreSQL Community Association of Canada.

Corporate Support

PostgreSQL enjoys the support of numerous companies, who sponsor developers, provide hosting resources, and give us financial support. See our sponsors page for some of these project supporters.

There is also a large community of companies offering PostgreSQL Support , from individual consultants to multinational companies.

If you wish to make a financial contribution to the PostgreSQL Global Development Group or one of the recognized community non-profit organizations, please visit our donations page.