查看原文
其他

PostgreSQL 10 正式版新特性,显著的性能提升

2017-10-07 开源中国


从 5 月份发布的 PostgreSQL 10 首个 Beta 测试版到今天已有小半年时间,今天 PostgreSQL 终于宣布了 PostgreSQL 10 正式版。


全新的 PostgreSQL 10 正式版值得关注的新特性包括:

• 使用基于发布和订阅机制的逻辑复制

• 声明式的表分区

• 提升了查询的并发性

• 显著的性能提升

• 更强的基于 SCRAM-SHA-256 密码认证机制

• 提升了监控和控制功能


从 beta1 到 rc1 , PostgreSQL 10 的主要新特性已趋于定性,包括:


☞ 大数据

• 原生分区(内置分区):PostgreSQL 10 中将内置分区表功能,依旧使用了继承的特性,但不需要手工写规则了,全部由系统处理。


• 并行增强:包括并行合并连接、并行索引扫描、并行位图扫描、收集合并等等。


• 连接和聚合下推:在外部表上做 aggregates 操作时,10 版本之前的处理过程是先将远程库的数据全部取到本地库,之后在本地库上 aggregates 操作,10 版本后部分 aggregates 操作可下推到远程库,这大幅减少了远程库传到本地库的数据量,并让聚合计算从请求服务器抽离。


• 更快的分析查询


☞ 复制和扩展

• 逻辑复制:可复制指定的表,或是进行复制方式的升级


• 同步复制的优选提交:确保多节点时数据的可靠性和性能


• 临时 replication slots:在会话结束时自动删除


• 故障切换:自动连接到列表中第一个可用的主机


• 可追踪提交


• 物理复制:改进两阶段提交的 replay 性能


☞ 管理

• 对 pg_receivewal 的压缩支持

• pg_stat_activity 后台进程显示:包括辅助进程、工作进程、WAL 发件人等


☞ SQL 特性

• 标识列:https://blog.2ndquadrant.com/postgresql-10-identity-columns/

• 宕机安全和可复制的哈希索引

• 触发器表转换:触发器执行时表内容变化的查询


☞ XML 和 JSON

• XMLTable:可将 XML 文档转换为表格式,从而使数据库中的 XML 数据更容易处理

• JSON 和 JSONB 全文搜索支持


☞ 安全性

• SCRAM 认证:用于更新安全的基于密码认证的访问

• 新增"监控"角色:pg_read_all_settings、pg_read_all_stats、pg_stat_scan_tables、pg_monitor

• 与行级安全有关的限制策略


☞ 性能

• 多列统计:https://blog.2ndquadrant.com/pg-phriday-crazy-correlated-column-crusade/

• pg_stat_activity 等待事件状态显示:PostgreSQL 9.6 代码共测试了 69 个等待事件,PostgreSQL 10 再次扩展,已包含 184 个等待事件。

• 查询方案改进


以及,更多……


官方发行说明:

 https://www.postgresql.org/docs/10/static/release-10.html?x=1  。


同时这里有一份 PDF 文档通过实例详细介绍 PG 10 的新特性。



推荐阅读

苹果开源 iOS 内核啦!全球数据库排名 MySQL 三连跌

可能是国内最火的开源项目 ——  JavaScript 篇

个性满满!那些有意思的艺术图像生成工具推荐

Java 9 新特性 —— module 模块系统

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存