Hubert 'depesz' Lubaczewski:等待 PostgreSQL 18 - 向进度视图添加基于成本的延迟时间

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

2025年2月11日,Nathan Bossart提交补丁,向pg_stat_progress_vacuum和pg_stat_progress_analyze视图添加了基于成本的延迟时间。新增参数track_cost_delay_timing用于收集信息,显示vacuum因成本延迟而睡眠的时间,增强了进度监控的细节。

🎯

关键要点

  • 2025年2月11日,Nathan Bossart提交补丁,向pg_stat_progress_vacuum和pg_stat_progress_analyze视图添加基于成本的延迟时间。

  • 新增参数track_cost_delay_timing用于收集信息,显示vacuum因成本延迟而睡眠的时间。

  • 该补丁增强了进度监控的细节,报告了与vacuum相关的并行工作者的睡眠时间。

  • 2016年首次引入vacuum进度的简单报告,之后进行了多次改进。

  • 新变化提供了vacuum运行中因成本延迟而等待的时间信息。

  • 通过修改设置,手动运行vacuum时也会出现成本延迟。

  • 测试中创建了一个900MB的表,并对其进行了vacuum操作。

  • 在vacuum运行期间,pg_stat_progress_vacuum视图显示了进度信息,包括延迟时间。

  • 测试结果显示,vacuum在582264.662毫秒的总时间中,有98.9%的时间用于睡眠。

  • 该工具的引入被认为是一个重要的改进,值得在pg日志中记录相关信息。

🔎

延伸解读

成本延迟的影响

新增的track_cost_delay_timing参数能够帮助数据库管理员更好地理解vacuum操作中的成本延迟。这一信息的收集使得用户能够识别出vacuum在执行过程中因成本限制而导致的睡眠时间,从而优化数据库性能。

监控进度的细节

pg_stat_progress_vacuum视图的改进使得用户可以实时监控vacuum的执行状态,包括并行工作者的睡眠时间。这种细致的监控能够帮助用户及时调整vacuum的设置,以提高数据库的维护效率。

历史背景与演变

自2016年首次引入vacuum进度报告以来,PostgreSQL在这一功能上进行了多次改进。此次补丁的发布标志着对vacuum进度监控的又一次重要升级,反映了社区对性能优化的持续关注。

延伸问答

PostgreSQL 18中新增了什么功能?

新增了基于成本的延迟时间监控功能,增强了pg_stat_progress_vacuum和pg_stat_progress_analyze视图的细节。

track_cost_delay_timing参数的作用是什么?

该参数用于收集vacuum因成本延迟而睡眠的时间信息,默认关闭。

vacuum操作中延迟时间的测试结果如何?

测试显示,vacuum在582264.662毫秒的总时间中,有98.9%的时间用于睡眠。

如何手动运行vacuum并观察延迟时间?

通过修改设置,手动运行vacuum时可以观察到成本延迟,使用pg_stat_progress_vacuum视图查看进度信息。

vacuum进度监控的历史背景是什么?

2016年首次引入vacuum进度的简单报告,之后进行了多次改进以提供更多信息。

这个补丁对PostgreSQL的影响是什么?

该补丁被认为是一个重要的改进,增强了进度监控的细节,值得在pg日志中记录相关信息。

🏷️

标签

➡️

继续阅读