PostgreSQL 10 正式版发布
2017-10-06 16:34:03 阿炯

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

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

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

声明式的表分区

提升了查询的并发性

显著的性能提升

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

提升了监控和控制功能


详细的 PostgreSQL 10 的主要新特性已趋于定性,包括:

大数据

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

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

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

更快的分析查询


复制和扩展

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

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

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

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

可追踪提交

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


管理

对 pg_receivewal 的压缩支持

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


SQL 特性

标识列:详情

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

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


XML 和 JSON

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

JSON 和 JSONB 全文搜索支持


安全性

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

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

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


性能

多列统计:详情

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

查询方案改进


以及更多……


更多详细信息请看官方发行说明


2022年11月发布的10.23将是 PostgreSQL 10 系列的最终版本,之后 PostgreSQL 10 系列将不再接受安全和错误修复。如果正在生产环境中运行 PostgreSQL 10,官方建议制定升级计划。