2018 年 10 月 18 日 — PostgreSQL 全球开发集团今天宣布 PostgreSQL 11 是最先进的开源 DBMS 的最新版本,现已发布 走向世界。

PostgreSQL 11 提供了整体性能改进以及 针对超大型或超大型数据库的特定改进 交通。此外,PostgreSQL 11 还显著改进了 partitioning,添加了在 存储过程,并将并行性的可能性扩展到 查询执行级别比数据定义级别。 parallelism 可以 用于更快地响应查询的 引入了 Just-in-Time (JIT),允许注入 直接在查询中预编译。

“对于 PostgreSQL 11,我们的开发人员社区专注于 增加功能以改善超大型数据库的管理” PostgreSQL 全球核心团队成员 Bruce Momjian 说 开发组。“因此,除了他的 事务性数据库管理,PostgreSQL 11 简化了 大数据应用程序的管理,即使是非常大规模的。

经过 20 多年的开源开发,PostgreSQL 已成为 开发人员最喜欢的开源数据库。该项目仍然具有吸引力 更多的专业世界,并被评为“年度 DBMS 2017 年“由 DB-Engines 和 在 SD Times 100 排行榜上。

PostgreSQL 11 是自 Postgres 10 发布以来的第一个主要版本, 2017 年 10 月 5 日。下一个次要更新(仅包含 patches) 将是版本 11.1 和下一个版本 主要(具有新功能)将是 PostgreSQL 12。

提高分区的可靠性和性能

PostgreSQL 11 增加了通过键哈希对表进行分区的功能 其他分区可能性(按值列表或 intervals) 的 Span。此外,PostgreSQL 11 通过以下方式提高了数据收敛性 postgres_fdw,对 Foreign Data Wrappers 进行了大量分区改进。

为了更轻松地维护分区,PostgreSQL 11 引入了 与任何分区都不匹配的数据的默认分区。 以及创建主键、外键、索引和 触发器,这些触发器将自动应用于所有分区。PostgreSQL 11 还支持 如果分区键为 update 的特定行,这需要更改 分区。

PostgreSQL 11 还提高了读取分区时的性能 使用新的、更有效的分区处理策略。从 此外,PostgreSQL 11 现在支持对分区表进行“upsert”,这 这简化了应用程序代码并减少了网络使用量。

管理存储过程中的事务

开发人员可以从 PostgreSQL 中创建特定函数 超过 20 年,但在 PostgreSQL 11 之前,这些函数无法处理 他们自己的交易。PostgreSQL 11 引入了 SQL 过程 允许在函数体中完全管理事务,这 这允许开发人员将高级处理卸载到服务器 数据库,尤其是对于任何涉及加载的内容 原始数据增量。

SQL 过程可以使用命令创建,可以使用命令执行,并且可以例如, 目前是用 PL/pgSQL、PL/Perl、PL/Python 和 PL/Tcl 编写的。CREATE PROCEDURECALL

改进的查询并行度

PostgreSQL 11 通过以下方式提高并行性能 并行顺序扫描和哈希联接的性能 all 支持更高效的分区数据扫描。PostgreSQL 数据库 现在可以并行运行,如果 涉及的查询无法并行化。SELECTUNION

PostgreSQL 11 还允许并行化多个 方案,尤其是 创建通过运行标准命令生成的 B 树索引。多个结构更改命令,无论它们是否 从查询创建表或具体化视图可以 现在并行化,例如 和 。CREATE INDEXCREATE TABLE .. ASSELECT INTOCREATE MATERIALIZED VIEW

表达式的 Just-in-Time (JIT) 编译

PostgreSQL 11 引入了对 Just-In-Time (JIT) 编译的支持,以便 在查询执行期间加快某些表达式的执行速度。 为 PostgreSQL 编译 JIT 表达式使用 LLVM 项目的工作来 加快子句、列表中的表达式的执行速度 聚合、预测和某些内部交易。WHERE

为了能够使用 JIT 编译,您需要安装依赖项 LLVM 启用,然后在配置文件 () 中启用,或者在会话期间通过运行 .jit = onSET jit = on

一般用户体验改进

没有反馈,就不可能进行 PostgreSQL 改进 我们从非常活跃的用户社区收到,也不是没有困难的 为 PostgreSQL 项目做出贡献的人的工作。您会发现 以下是一些为提高整体性能而开发的 PostgreSQL 功能 用户体验,但您应该知道还有许多其他功能:

  • 默认值为 no 的 order 在执行时不再需要完全重写表,从而导致 性能大幅提升。ALTER TABLE .. ADD COLUMN .. DEFAULT ..NULL
  • 现在,可以通过添加一个或多个 column(s) 添加到 .这种类型的索引非常有用 在执行计划中进行仅索引扫描,尤其是对 无法由 B 树索引编制索引的数据。INCLUDE
  • 添加了窗口函数的新功能, 其中允许使用 IN / 或排除子句RANGEPRECEDINGFOLLOWINGGROUPS
  • 在 PostgreSQL (psql) 便于输出

postgresql-11.22.tar.gz

百度网盘:
https://pan.baidu.com/s/1wQHyNWz6zWwrDMs1P9nx-Q?pwd=2pay

 

声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。