PostgreSQL 18 正式发布:异步 I/O、uuidv7 与虚拟生成列上线

2025年9月25日,PostgreSQL 全球开发组宣布 PostgreSQL 18 正式发布。新闻稿称,新版本通过重做 I/O 子系统提升读取性能,并在主版本升级体验、开发者便利性和身份认证等方面给出一批可直接用上的能力。[1]

异步 I/O:并发发请求,不再干等

过去 PostgreSQL 更多依赖操作系统预读;操作系统并不清楚数据库访问模式,预读经常“猜不准”。18 引入异步 I/O(AIO)子系统,可并发发出多个 I/O 请求。当前覆盖顺序扫描、位图堆扫描和 VACUUM 等路径;官方称部分场景基准测试可到约 3 倍提升。管理员可用 io_method 在 worker、io_uring 与保持旧行为的 sync 之间切换。[1]

升级更快,统计信息可保留

主版本升级时,18 起可保留规划器统计信息,减轻升级后必须立刻跑完 ANALYZE 才能恢复性能的空窗。pg_upgrade 也增强了对大量对象场景的速度,并支持 --jobs 并行检查,以及用 --swap 直接交换目录、少做文件复制。[1]

开发者侧:虚拟生成列、uuidv7、OAuth 2.0

虚拟生成列在查询时动态计算,并成为生成列默认形态;存储型生成列现支持逻辑复制。RETURNING 可同时拿到 OLD/NEW。新增 uuidv7(),生成按时间戳排序的 UUID,利于索引与缓存局部性;uuidv4() 作为 gen_random_uuid() 别名出现。身份认证方面,18 支持 OAuth 2.0,便于对接 SSO。[1]

查询侧还包括多列 B-tree「跳跃扫描」、更好利用索引的 OR 条件、哈希/归并连接改进,以及 GIN 索引并行构建等。新集群经 initdb 默认启用页校验和;从旧集群升级时若未开校验和,需注意 --no-data-checksums 等参数选择。[1]

核心团队成员 Jonathan Katz 在新闻稿中表示,全球开源社区的共同努力铸就了每一次版本发布,PostgreSQL 18 延续可靠、稳健的数据管理传统,并扩展可支持的工作负载范围。[1]

下载与发行说明见官网;生产升级仍建议先在预发环境验证扩展兼容性与 pg_upgrade 路径。

来源

[1] PostgreSQL 18 Press Kit(中文),PostgreSQL 全球开发组,2025年9月25日。

#PostgreSQL #PostgreSQL18 #数据库 #异步IO #开源

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.