专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > 行业资讯 > PostgreSQL 18 测试版Beta 1 发布,新功能新特性!

PostgreSQL 18 测试版Beta 1 发布,新功能新特性!

文章来源: 更新时间:2025/5/20 14:20:57

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

db-engines-5月.jpg

PostgreSQL全球发展组宣布,PostgreSQL 18的第一个测试版已经可以下载。 此版本包含在PostgreSQL 18正式发布时的所有功能预览,尽管在测试期间,版本的一些细节可能会有所变化。

PostgreSQL 18 特点亮点

以下是计划在PostgreSQL 18中实现的一些功能亮点。 此列表不完整;有关计划功能的完整列表,请参阅发布说明。

性能

PostgreSQL 18 引入了一个异步 I/O (AIO) 子系统。这个新的子系统可以提高 I/O 吞吐量并隐藏 I/O 延迟。在 Linux 上 io_uring 可以用于 AIO,基于 worker 的实现适用于所有平台。这个初始版本支持文件系统读取操作,例如顺序扫描、位图堆扫描和 vacuum,测试显示性能提高了 2-3 倍。

这些性能提升也适用于查询优化和新的索引功能。PostgreSQL 18增加了对多列B树索引使用“跳过扫描”查找的支持,这可以提高省略一个或多个前缀索引列上的“=”条件的查询的执行速度。此版本还包括对包含WHERE子句中OR和IN (...)语句的优化,以更好地利用最近的索引改进,这也可以提高查询性能。此外,还有许多性能改进,用于PostgreSQL计划和执行表连接,从改进哈希连接的整体性能到允许合并连接使用增量排序。

PostgreSQL 18还提供多种其他特性,这些特性可以提高其他查询和维护操作的性能。PostgreSQL 18现在支持并行构建GIN索引,这些索引通常用于对JSON和全文数据的搜索。此版本还允许您定义具有非B树唯一索引的分区键和物化视图。PostgreSQL 18还提高了访问多个关系的查询的总体锁定性能,并对分区表的查询添加了多项改进,包括改进的剪枝和连接支持。PostgreSQL 18在文本处理方面的性能也有所提高,包括对upper/lower函数的一般速度提升和一个新的内置排序PG_UNICODE_FAST。

主要版本升级体验

在PostgreSQL 18之前,进行主要版本升级后的重要步骤是运行ANALYZE以生成统计信息,这是帮助PostgreSQL选择最高效查询计划的关键组件。根据PostgreSQL集群的大小和整体活动,这个过程可能非常耗时,并且在过程完成之前可能会对查询性能产生影响。PostgreSQL 18引入了通过主要版本升级保留规划器统计信息的能力,这有助于升级后的集群更快地达到预期的性能状态。

此外,pg_upgrade,用于协助主要版本升级的工具,添加了几个性能增强功能,以帮助加速包含许多对象(如表和序列)的升级。此版本还允许pg_upgrade根据--jobs标志的设置并行执行其检查,并且还添加了--swap标志,该标志将交换升级目录而不是复制、克隆或链接文件。

开发者体验

PostgreSQL 18 引入了虚拟生成列,这些列在查询执行期间即时计算列值,而不是必须存储它们。这现在是生成列的默认选项。此外,现在可以逻辑地复制存储的生成列。

此版本增加了在OLD、NEW、RETURNING、INSERT、UPDATE、DELETE和MERGE命令中访问上一个()和当前()值的能力。此外,PostgreSQL 18通过uuidv7()函数增加了对UUIDv7生成的支持,使您能够生成按时间戳排序的随机UUID,以支持更好的缓存策略(此版本还添加了uuidv4()作为gen_rand_uuid的别名)。

现在在PostgreSQL 18中,您可以对使用非确定性排序的文本进行比较,使进行更复杂的模式匹配更加简单。此外,这次发布引入了LIKE来帮助进行不区分大小写的匹配。CASEFOLD

此版本还为 PRIMARY KEY 和 UNIQUE 添加了时间约束,或对范围的约束,使用 WITHOUT OVERLAPS 子句,以及对 FOREIGN KEY 约束的 PERIOD 子句。

安全功能

PostgreSQL 18 引入了 oauth 认证,用户可以使用通过 PostgreSQL 扩展支持的 OAuth 2.0 机制进行认证。此外,PostgreSQL 18 增加了几个用于验证和强制执行 FIPS 模式行为的功能,并且增加了 ssl_tls13_ciphers 以便用户配置服务器可以使用的 TLS v1.3 加密套件。

此版本废除了md5密码认证,推荐使用SCRAM认证,该认证首次添加于PostgreSQL 10。md5认证将在未来的主版本发布中完全移除。此外,PostgreSQL 18增加了对远程PostgreSQL实例进行SCRAM直通认证的支持,postgres_fdw和dblink。

监控和可观测性

PostgreSQL 18 对 EXPLAIN 工具进行了更多细节的补充,该工具提供有关查询计划执行的信息,并且在此版本中,执行时会自动显示访问的缓冲区(数据存储的基本单位)的数量。EXPLAIN ANALYZE此外,EXPLAIN ANALYZE 现在显示在索引扫描期间进行的索引查找次数,并且 EXPLAIN ANALYZE VERBOSE 包括 CPU、WAL 和平均读取统计信息。此版本还包含在 pg_stat_all_tables 中关于表的真空和分析总时间的信息,并且现在显示每个连接的 I/O 和 WAL 利用率的统计数据。

PostgreSQL 18 还提供了更多关于在逻辑复制过程中发生的写冲突的见解,并在日志和 pg_stat_subscription_stats 视图中展示了这些信息。

其他亮点

从PostgreSQL 18开始,新的PostgreSQL集群默认启用数据校验和,用于验证存储数据的完整性。您可以使用命令选择禁用此行为。请注意,这可能需要更改您的升级脚本。initdb --no-data-checksums

此外,一些约束功能中新增了 behaviors。 首先,外键和检查约束都可以被设置为 NOT ENFORCED 并且 相反,可以使其可强制执行。此外,NOT NULL 约束现在保留其名称,符合 SQL 标准的要求,支持 NOT VALID 和 NO INHERIT 子句,并且现在在继承方面表现得更加一致。

pg_createsubscriber 现在支持一个 --all 标志,因此您可以使用一个命令为实例中的所有数据库创建逻辑副本。此外,PostgreSQL 18 允许您使用本地表的定义通过 CREATE FOREIGN TABLE ... LIKE 命令创建外部表的模式定义。

PostgreSQL 18 还引入了PostgreSQL 7.4(2003年)以来的第一个新的PostgreSQL网络协议版本(3.2)。libpq 仍然默认使用版本3.0,而客户端(例如,驱动程序、连接池、代理)将添加对新协议版本的支持。

测试版时间表

这是18版本的第一个测试版发布。PostgreSQL项目将根据测试需求发布更多的测试版,并随后发布一个或多个候选版本,直到2025年9月/10月左右的最终发布。

内容来源:发表于 2025-05-08 由 PostgreSQL 全球开发组,百度翻译结果

本文地址:http://www.cuug.com.cn/zixun/40397166056.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区田村山南路35号院17号楼
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1