帕维尔·卢扎诺夫:PostgreSQL 18:第二部分或2024年9月的CommitFest

帕维尔·卢扎诺夫:PostgreSQL 18:第二部分或2024年9月的CommitFest

💡 原文英文,约3200词,阅读约需12分钟。
📝

内容提要

2024年版本18的CommitFest在九月例外地接受了许多补丁和新特性。逻辑复制中,发布者和订阅者的数据可独立更改,可能导致冲突,新工具可监控并记录这些冲突。查询执行计划优化提升了性能,支持异步操作,增强了大对象权限检查,并引入CRC校验和功能。

🎯

关键要点

  • 2024年版本18的CommitFest在九月接受了许多补丁和新特性。

  • 逻辑复制中,发布者和订阅者的数据可独立更改,可能导致冲突。

  • 新工具可监控并记录逻辑复制中的冲突。

  • 查询执行计划优化提升了性能,支持异步操作。

  • 增强了大对象权限检查,并引入CRC校验和功能。

  • 查询执行计划中的参数设置优化,提升了查询性能。

  • 临时元组存储的内存管理和使用监控得到改进。

  • 反向索引扫描时减少了不必要的缓冲区锁定。

  • pg_upgrade支持异步执行操作,提高了效率。

  • 多个操作的性能优化,包括哈希连接和JSON转换速度提升。

  • ANALYZE和VACUUM命令新增ONLY关键字,允许忽略分区。

  • 检查点统计信息在pg_stat_checkpointer视图和服务器日志中分开记录。

  • SET命令的参数格式化规范化,减少存储查询数量。

  • 支持在事务中访问远程表,并提供连接状态信息。

  • COPY命令在读取行时可以忽略格式转换错误。

  • 新增函数用于计算CRC-32和CRC-32C校验和。

  • 客户端-服务器协议中新增search_path参数的通知功能。

  • 扩展查询协议支持命名的预处理语句。

  • pg_verifybackup现在支持tar格式的集群备份验证。

🔎

延伸解读

逻辑复制冲突管理

PostgreSQL 18引入了新的工具来监控逻辑复制中的冲突。这些工具可以帮助开发者识别和记录冲突类型,尤其是在发布者和订阅者数据独立更改时。了解这些冲突的管理方式对于维护数据一致性至关重要,尤其是在复杂的分布式系统中。

查询执行计划优化

新版本中对查询执行计划的优化显著提升了性能,特别是在处理大数据集时。通过改进内存管理和临时元组存储,PostgreSQL 18能够更高效地执行复杂查询。这对于需要高性能数据库的应用场景尤为重要,开发者应关注这些优化带来的潜在性能提升。

异步操作的优势

pg_upgrade的异步执行功能使得在多个数据库间的操作更加高效,尤其是在大型集群中。通过使用--jobs参数,用户可以显著减少升级时间。这一改进对于需要频繁升级和维护的生产环境来说,能够带来更好的用户体验和系统稳定性。

延伸问答

PostgreSQL 18的CommitFest有哪些新特性?

PostgreSQL 18的CommitFest引入了逻辑复制冲突监控工具、查询执行计划优化、增强的大对象权限检查和CRC校验和功能等新特性。

逻辑复制中可能出现哪些冲突?

逻辑复制中可能出现的冲突包括更新缺失、插入已存在、更新源不同等六种变体。

如何监控PostgreSQL中的逻辑复制冲突?

可以使用pg_stat_subscription_stats视图和服务器日志来监控逻辑复制中的冲突。

PostgreSQL 18如何优化查询执行计划?

PostgreSQL 18通过移除查询计划中的成本常量和优化参数设置来提升查询执行计划的性能。

PostgreSQL 18中如何处理大对象的权限检查?

PostgreSQL 18新增了has_largeobject_privilege函数,用于检查对大对象的访问权限。

PostgreSQL 18的COPY命令有什么新功能?

PostgreSQL 18的COPY命令可以在读取行时忽略格式转换错误,增强了数据导入的灵活性。

🏷️

标签

➡️

继续阅读