当前位置: 首页 > news >正文

PostgreSQL 18 Beta 1发布,有哪些功能亮点?

PostgreSQL 全球开发组于 2025 年 5 月 8 日发布了第一个 PostgreSQL 18 Beta 版本,现已开放下载。虽然细节可能会有所改变,但是该版本包含了 PostgreSQL 18 最终正式版中所有新功能的预览。

以下是 PostgreSQL 18 引入的部分关键功能亮点。

性能优化

  • 异步 I/O(AIO),通过全新的异步 I/O 子系统提升 I/O 吞吐量并隐藏延迟。Linux 系统可使用 io_uring,其他平台则提供基于“工作线程”的通用实现。当前支持顺序扫描、位图堆扫描和 VACUUM 操作的异步文件读取,测试显示性能提升达 2-3 倍。
  • 查询优化,PostgreSQL 18 支持多列 B-Tree 索引 Skip Scan 优化,可以加速缺少前缀列“=”条件的查询;新版本还改进了对 WHERE 子句中 OR 或 IN (…) 条件的索引利用,提升查询性能;hash join 整体性能提升,merge join 支持增量排序。
  • 并行索引构建,支持 GIN 索引的并行构建,通常用于 JSON 和全文搜索场景。
  • 分区表与锁定优化,改进了分区表查询的修剪效率及连接支持,以及多表查询时的锁定开销,提升高并发场景性能。
  • 文本处理优化,提升了文本数据的处理性能,包括 upper/lower 函数性能提升以及一个新的内置排序规则 PG_UNICODE_FAST。

版本升级

  • 优化器统计信息保留,主版本升级后(例如 PostgreSQL 17 升级到 PostgreSQL 18),自动保留统计信息,无需手动执行 ANALYZE,缩短性能恢复时间。
  • pg_upgrade 工具增强,支持并行检查(通过 --jobs 参数),加速包含大量表或序列的版本升级;新增 --swap 标志,通过交换目录而非复制或链接文件加速升级流程。

开发体验

  • 虚拟生成列,PostgreSQL 18 版本的生成列(Generated Columns)默认支持“virtual”模式,只在执行查询时动态计算字段值,无需占用存储;另外,存储式生成列可以支持逻辑复制。
  • RETURNING 子句扩展,INSERT、UPDATE、DELETE 和 MERGE 命令的 RETURNING 子句支持同时访问旧值(OLD)和新值(NEW)。
  • UUIDv7,新增 uuidv7() 函数生成时间戳有序的 UUID,优化缓存策略;同时新增 uuidv4() 作为 gen_rand_uuid 的别名。
  • 模式匹配增强,支持对非确定性排序规则的文本进行 LIKE 匹配,新增 CASEFOLD 函数用于大小写不敏感的匹配。
  • 约束增强,主键和唯一约束支持“无重叠”的时间范围约束(WITHOUT OVERLAPS),外键支持 PERIOD 子句。

安全特性

  • OAuth 认证,支持通过扩展实现 OAuth 2.0 认证机制。
  • FIPS 模式与 TLS 1.3,新增 FIPS 模式验证与强制功能;支持通过 ssl_tls13_ciphers 配置 TLS 1.3 加密套件。
  • SCRAM 默认认证,PostgreSQL 18 开始弃用 md5 密码认证,全面转向 SCRAM,未来版本将彻底移除 md5 认证;postgres_fdw 和 dblink 支持 SCRAM 透传认证访问远程 PostgreSQL 实例。

可观测性

  • EXPLAIN 增强,EXPLAIN ANALYZE 自动显示缓冲区访问次数及索引查找次数;EXPLAIN ANALYZE VERBOSE 新增 CPU、WAL 及平均读取统计信息。
  • 统计视图扩展,pg_stat_all_tables 新增表级 VACUUM 和分析耗时统计;新增连接级 I/O 和 WAL 使用统计;逻辑复制冲突信息记录至日志及 pg_stat_subscription_stats 视图。

其他亮点

  • 默认启用数据校验和,PostgreSQL 18 开始的新集群默认启用数据校验和功能,可通过 initdb --no-data-checksums 禁用。
  • 约束功能增强,外键和检查约束支持 NOT ENFORCED 以及 ENFORCED 属性;NOT NULL 约束支持自定义名称,更加符合 SQL 标准; 同时还支持 NOT VALID 和 NO INHERIT 子句,与继承功能一致。
  • pg_createsubscriber,新增 --all 标志,支持一键为实例中所有数据库创建逻辑副本。
  • 外部表定义,新增 CREATE FOREIGN TABLE … LIKE 命令,可以基于本地表定义创建外部表。
  • PostgreSQL 协议,推出新版 PostgreSQL 3.2 版本总线协议,libpq 仍然使用 3.0 协议,客户端驱动增加了新协议支持。

更多特性

除了以上内容,PostgreSQL 18 还增加了大量的新功能和改进,完整的新特性列表可以参考官方的发行说明:

https://www.postgresql.org/docs/18/release-18.html

PostgreSQL 18 正式版计划将于 2025 年 9 月左右发布。

相关文章:

  • 广西某建筑用花岗岩矿自动化监测
  • 获取openai的key
  • Zabbix监控 RabbitMQ 指定消息队列名称(pull_alarms )的消费者
  • 房产销售系统设计与实现(Spring Boot + Vue 前后端分离)
  • 科技创业园共享会议室线上预约及智能密码锁系统搭建指南
  • 豆包:基于多模态交互的智能心理咨询机器人系统设计与效果评估——情感计算框架下的对话机制创新
  • 深入理解主从数据库架构与主从复制
  • 如何使用测试软件 Jmeter
  • 项目高压生存指南:科学重构身体与认知系统的抗压算法
  • 数巅智能携手北京昇腾创新中心深耕行业大模型应用
  • 【MySQL数据库】--SQLyog创建数据库+python连接
  • 基于公共卫生大数据收集与智能整合AI平台构建测试:从概念到实践
  • 神经元和神经网络定义
  • HTML应用指南:利用POST请求获取全国德邦快递服务网点位置信息
  • Vue项目---懒加载的应用
  • xxl-job的pg数据库改造适配
  • 【一】浏览器的copy as fetch和copy as bash的区别
  • Android kernel日志中healthd关键词意义
  • 【linux常用命令】处理失效链接
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.4 可视化报告输出
  • 要更加冷静地看待“东升西降”的判断
  • 时隔14个月北京怀柔区重启供地,北京建工以3.59亿元摘得
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 溢价26.3%!保利置业42.4亿元竞得上海杨浦宅地,楼板价80199元/平方米
  • 纽约大学朗格尼医学中心的转型带来哪些启示?
  • 习近平同俄罗斯总统普京会谈