PostgreSQL 14 正式发布

来源: 投稿
作者: 御坂弟弟
2021-10-01

PostgreSQL 14 现已发布。该版本继续在复杂数据类型上添加创新,包括更方便的 JSON 访问和对非连续数据范围的支持,并且增加了 PostgreSQL 在提高高性能和分布式数据工作负载方面的趋势,在连接并发性、高写入工作负载、查询并行性和逻辑复制方面取得了进步。

JSON 访问和 multirange 数据类型

PostgreSQL 14 现在允许使用下标访问 JSON 数据,例如 SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']。这使 PostgreSQL 与从 JSON 数据检索信息时普遍认可的语法保持一致。并且新增的下标框架一般可以扩展到其他嵌套数据结构,本次发布的 hstore 数据类型也同样适用。

Range 类型现在通过引入"multirange" 数据类型支持非连续范围。一个 multirange 数据是不重叠范围的有序列表,它使开发人员可以编写更简单的查询来处理复杂的范围序列。 PostgreSQL 原生的范围类型(​​日期、时间、数字)支持多范围,其他数据类型可以扩展以使用多范围支持。

重型工作负载的性能改进

PostgreSQL 14 通过减少频繁更新索引的表上的索引膨胀来继续改进 B 树索引管理,使用许多连接的工作负载显着提升吞吐量,引入了将查询管道传输到数据库的功能,这可以显着提高高延迟连接或具有许多小写(插入/更新/删除)操作的工作负载的性能。

分布式工作负载增强

使用逻辑复制时,PostgreSQL 14 现在可以将正在进行的事务流式传输给订阅者。而用于处理跨 PostgreSQL 和其他数据库的联合工作负载的外部数据包装器,现在可以利用 PostgreSQL 14 中的查询并行性。此外,postgres_fdw 现在可以在外部表上批量插入数据并使用 IMPORT FOREIGN SCHEMA 指令导入表分区。

管理和可监测性

PostgreSQL 14 添加了一个 "紧急模式",并且现在可以配置 TOAST 系统的压缩,同时为 TOAST 列添加了 LZ4 压缩,而保留对 pglz 压缩的支持。此外,该版本添加了几个新特性来帮助监控和观察,包括跟踪 COPY 命令的进度、预写日志 (WAL) 活动和复制槽统计信息的能力。启用 compute_query_id 可让进行跟踪查询。

SQL 性能、一致性和便利性

此版本包括对 PostgreSQL 查询并行性支持的多项改进,包括更好的并行顺序扫描性能、PL/pgSQL 在使用 RETURN QUERY 命令时执行并行查询的能力,以及启用 REFRESH MATERIALIZED VIEW 来执行并行查询。此外,使用嵌套循环连接的查询可能会通过添加的额外缓存获得性能优势。同时,扩展统计现在可以用于表达式,存储过程允许在代码块中进行事务控制,并可以使用 OUT 参数返回数据。

更多详细内容,请查看更新公告

展开阅读全文
6 收藏
分享
加载中
精彩评论
我一个1核两g的服务器跑mysql 直接再跑几个前端直接卡死。 我用了pg 两个前端项目。4个后端服务都好好的很稳定跑了几个月了
2021-10-01 20:54
7
举报
json 方式有点难受 就不能 postgre.release ?
2021-10-03 12:01
5
举报
惊叹<・)))><<postgresql的开发团队是怎么不断涌现这么多优秀新特性呢?麻烦基于postgresql国内魔改的牛逼db们赶紧跟进,谢谢。
2021-10-01 19:19
5
举报
MySQL 在 PostgreSQL 面前就是个发育不健全的娃娃。
2021-10-01 18:22
4
举报
myisam甚至流行度比innodb高,这找谁说理去,哈哈
2021-10-08 15:32
3
举报
最新评论 (21)
pg不仅免费,还相当好用
2021-10-10 17:05
0
回复
举报
太棒了,postgresql希望再接再厉
2021-10-09 08:32
0
回复
举报
OSChina 现已崩溃
2021-10-08 16:55
0
回复
举报
PostgreSQL 能雄霸天下第一吗
2021-10-08 16:15
0
回复
举报
那么多人说PostgreSQL那么强,为什么流行度不如mysql?能有人说得清不?
2021-10-08 14:16
0
回复
举报
myisam甚至流行度比innodb高,这找谁说理去,哈哈
2021-10-08 15:32
3
回复
举报
json 方式有点难受 就不能 postgre.release ?
2021-10-03 12:01
5
回复
举报
我猜测应该是"."这个字符不好转化成执行语言吧。如果用".",指定schema时"."字符含义会和查询json就冲突了
2021-10-08 16:52
0
回复
举报
这不就跟两段式命名冲突了?
2021-10-08 18:59
0
回复
举报
类JS语法,JS可以 postgre.release 也可以 postgre["release"] 显然 pgsql选择了第二种
2021-10-09 21:49
1
回复
举报
今年开始用上postgresql了,还是挺香的
2021-10-02 11:44
2
回复
举报
惊叹<・)))><<postgresql的开发团队是怎么不断涌现这么多优秀新特性呢?麻烦基于postgresql国内魔改的牛逼db们赶紧跟进,谢谢。
2021-10-01 19:19
5
回复
举报
posrgtesql14有多主架构没,每个节点可读可写
2021-10-01 14:20
2
回复
举报
性能和MySQL比较怎么样
2021-10-01 10:42
0
回复
举报
MySQL 在 PostgreSQL 面前就是个发育不健全的娃娃。
2021-10-01 18:22
4
回复
举报
我一个1核两g的服务器跑mysql 直接再跑几个前端直接卡死。 我用了pg 两个前端项目。4个后端服务都好好的很稳定跑了几个月了
2021-10-01 20:54
7
回复
举报
PG的性能好太多了,单次查询延迟低,总体吞吐量还高,而且磁盘用还更少
2021-10-02 23:56
1
回复
举报
b树的查询应该比b+树慢吧
2021-10-03 00:10
0
回复
举报
空口无用,测测就知道了。我测试我的场景,PG性能优秀太多。MariaDB/MySQL差的太远
2021-10-03 23:10
1
回复
举报
MySQL用b+树是因为MySQL的索引树的实现的不行导致3层高度性能就开始骤降,为了降低高度不得不用b+树,而postgresql的索引树没这个问题,就没必要用b+树降低高度了
2021-10-08 15:30
1
回复
举报
更多评论
21 评论
6 收藏
分享
返回顶部
顶部