💡
原文英文,约4100词,阅读约需15分钟。
📝
内容提要
Postgres 18已稳定发布,新增异步IO、OAuth 2.0支持及UUIDv7等功能,性能优化包括btree跳过扫描,简化开发者操作。升级过程简单,影响较小,适合开发者和运维人员。
🎯
关键要点
- Postgres 18已稳定发布,新增异步IO、OAuth 2.0支持及UUIDv7等功能。
- 性能优化包括btree跳过扫描,简化开发者操作。
- 升级过程简单,影响较小,适合开发者和运维人员。
- 异步IO提供更直接的IO请求控制,支持直接IO,提升性能。
- OAuth 2.0支持提供安全的身份验证方式,避免使用长期密码。
- UUIDv7提供可排序的UUID,解决了UUIDv4的性能问题。
- RETURNING子句支持返回旧值和新值,简化开发者操作。
- 新增虚拟生成列,计算在读取时,默认设置为虚拟。
- 支持逻辑复制生成列,增强CDC工具的功能。
- 时间数据库改进,支持主键和唯一约束的WITHOUT OVERLAPS子句。
- 新增NOT VALID约束,允许在不验证现有行的情况下添加约束。
- 支持在分区表上声明NOT VALID外键约束,减少锁定。
- 新协议版本3.2,增强查询取消的密钥长度。
- pg_upgrade速度更快,转移统计信息减少升级后性能损失。
- K8s环境中扩展管理更容易,支持声明式扩展管理。
- VACUUM改进,降低了激进VACUUM的成本。
- EXPLAIN改进,默认显示BUFFERS,提供更多查询信息。
- 新增每个进程的统计信息,增强监控能力。
- 索引优化,btree跳过扫描提升查询效率。
- SQL语言函数使用计划缓存,提升查询性能。
- 自连接消除优化,减少冗余,提高查询效率。
- DISTINCT值重新排序,减少排序开销。
- 新增casefold()函数,改进大小写匹配。
- lower()和upper()函数实现更快,优化了映射表。
- GiST索引构建速度更快,支持排序构建模式。
- 新增数组便利函数array_reverse()和array_sort()。
- json_strip_nulls()函数新增参数,移除null数组元素。
❓
延伸问答
Postgres 18的新功能有哪些?
Postgres 18新增了异步IO、OAuth 2.0支持、UUIDv7、btree跳过扫描等功能。
异步IO在Postgres 18中有什么优势?
异步IO提供更直接的IO请求控制和支持直接IO,提升性能和降低资源使用。
UUIDv7相较于UUIDv4有什么改进?
UUIDv7是可排序的,解决了UUIDv4在索引局部性和压缩性能上的问题。
如何在Postgres 18中使用OAuth 2.0进行身份验证?
可以通过SSO提供商进行交互式访问,应用程序可使用OAuth工作流进行身份验证。
Postgres 18的升级过程复杂吗?
升级过程简单,影响较小,适合开发者和运维人员。
Postgres 18中如何优化VACUUM操作?
Postgres 18通过提前扫描可见页面和调整插入阈值来降低激进VACUUM的成本。
➡️