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日志中记录相关信息。

延伸问答

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日志中记录相关信息。

➡️

继续阅读