PostgreSQL 11 发布:JIT、存储过程事务,并行性能提升

h4cd
 h4cd
发布于 2018年10月19日
收藏 13

PostgreSQL 11 发布了,PostgreSQL 11 带来了整体性能的改进,具有与超大型数据库和高计算工作负载相关的特定增强功能。此外,PostgreSQL 11 对表分区系统进行了重大改进,存储过程中支持事务,改进了查询并行性能并增加了并行化数据定义功能,同时在查询中引入了 JIT 编译以加速表达式的执行。

主要更新内容如下:

提高分区的健壮性和性能

PostgreSQL 11 增加了通过 hash key 对数据进行分区的能力,增强了当前通过值列表或范围对 PostgreSQL 中的数据进行分区的能力。进一步提高了其数据联合能力,并对使用 PostgreSQL 外部数据包装器 postgres_fdw 的分区进行了功能改进。

为了帮助管理分区,PostgreSQL 11 为与分区键不匹配的数据引入了一个默认分区,并且能够在传递给所有分区的分区表上创建主键、外键、索引和触发器。如果更新行的分区键,PostgreSQL 11 还支持自动将该行移动到正确的分区。

PostgreSQL 11 通过使用新的分区消除策略提高了从分区读取时的查询性能。此外,PostgreSQL 11 现在支持分区表上流行的“upsert”功能,这有助于简化用户与数据交互时程序的代码并减少网络开销。

存储过程中支持事务

在 PostgreSQL 11 之前,用户定义的函数无法管理自己的事务,PostgreSQL 11 添加了可以在函数体内执行完整事务管理的 SQL 过程,使开发人员能够创建更高级的服务器端应用程序,例如涉及增量批量数据加载的应用程序。

查询并行性能提升

PostgreSQL 11 提高了并行查询性能,同时并行顺序扫描和散列连接的性能得到提升,对分区数据的扫描也更高效。如果底层查询无法并行化,PostgreSQL 现在可以执行并行使用 UNION 的 SELECT 查询。

表达式 JIT 编译

PostgreSQL 11 引入了对 JIT 编译的支持,以加速查询执行期间某些表达式的执行。PostgreSQL 的 JIT 表达式编译使用 LLVM 项目来加速 WHERE 子句、目标列表、聚合、映射和一些内部操作中表达式的执行。

此外还有一些更新关注于改进用户体验,详情查看发布公告

下载地址:https://www.postgresql.org/download/

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:PostgreSQL 11 发布:JIT、存储过程事务,并行性能提升
加载中

精彩评论

左华栋
左华栋
666 秒掉 mysql
水牛叔叔
水牛叔叔
good,用了pg就不想回去用MySQL了
Feng_Yu
Feng_Yu
PostgreSQL每年一个大版本,每个版本都是质的飞跃。MySQL三年磨一剑,每个版本像挤牙膏,这就是差距
Credo-Zhao
Credo-Zhao
阿里云什么时候支持11? 现在10都不完善.
郭剑波
郭剑波
windows 版 缺少文件,两个dll文件,从老版本升级失败

最新评论(22

左华栋
左华栋

引用来自“乌龟壳”的评论

但仍然是个单机数据库

引用来自“本人纯属虚构”的评论

单机数据库? excuse me?

引用来自“乌龟壳”的评论

非多主都是单机的范畴
有工具可以做集群,也可以自己去写中间层。
而且 一些 GIS数据库 图形数据库 时序数据库 很多都是基于 postgresql
乌龟壳
乌龟壳

引用来自“乌龟壳”的评论

但仍然是个单机数据库

引用来自“本人纯属虚构”的评论

单机数据库? excuse me?
非多主都是单机的范畴
本人纯属虚构
本人纯属虚构

引用来自“乌龟壳”的评论

但仍然是个单机数据库
单机数据库? excuse me?
乌龟壳
乌龟壳
但仍然是个单机数据库
mymbrooks
mymbrooks

引用来自“mymbrooks”的评论

Win10 1809 安装 postgresql 11 失败, VC++ 运行时错误...

引用来自“cqcho”的评论

执行postgresql-11.0-1-windows-x64.exe --install_runtimes 0 安装
thanks 可以了
郭剑波
郭剑波
windows 版 缺少文件,两个dll文件,从老版本升级失败
cqcho
cqcho

引用来自“mymbrooks”的评论

Win10 1809 安装 postgresql 11 失败, VC++ 运行时错误...
执行postgresql-11.0-1-windows-x64.exe --install_runtimes 0 安装
冰力
冰力
早已经切换到PostgreSQL
Credo-Zhao
Credo-Zhao
阿里云什么时候支持11? 现在10都不完善.
水牛叔叔
水牛叔叔
good,用了pg就不想回去用MySQL了
返回顶部
顶部