postgresql - 查询 pg_stat_progress_vacuum 上显示的统计信息
问题描述
我试图了解以下参数的含义:max_dead_tuples
/num_dead_tuples
在pg_stat_progress_vacuum
视图上。
从 Postgres 文档中:
max_dead_tuples
bigint
在需要执行索引真空周期之前,我们可以存储的死元组的数量,基于maintenance_work_mem
.
num_dead_tuples
bigint
自上次索引真空循环以来收集的死元组数。
maintenance_work_mem
这是否意味着每个分配都会更改此值?我尝试为此参数设置不同的值,并且数字max_dead_tuples
增加到 178956970 并且没有进一步移动。即使我减少maintenance_work_mem
这个计数器保持不变。为什么呢?这两个参数说明什么?
编辑:
注意到当我使用 select 重置统计信息时pg_stat_reset()
;更改后maintenance_work_mem
,我在max_dead_tuples
. 但我不明白为什么价值观不一致?
请指教。
解决方案
VACUUM
收益如下:
它扫描表,直到找到尽可能多的死元组
autovacuum_work_mem
(默认为maintenance_work_mem
)。max_dead_tuples
是 PostgreSQL 估计有多少元组适合autovacuum_work_mem
.它扫描所有索引并删除指向那些死元组的条目。
重复这两个步骤,直到处理完整个表。num_dead_tuples
是在当前迭代中已经找到的死元组的数量。
据我所知,改变maintenance_work_mem
不会影响已经运行的VACUUM
,但我可能错了。
推荐阅读
- python-3.x - Python 获取文件信息
- c# - 在点击的点创建一张新照片
- android - 为什么 LiveData.getValue 返回 null 除非已调用观察?
- r - 通过置换 R 中的列来最大化矩阵的对角线
- c++ - 即使在通过引用捕获后也会发生切片
- git - 为什么 git rebase HEAD~3 --autosquash 不压缩修复?
- django - 带有 React 的 Django REST:带有 FormData 的 axios PATCH 不更新任何数据
- javascript - Javascript 在循环内移动并且输出不能正常工作
- javascript - p5.js 中的嘈杂渐变
- python - 如何在正则表达式的多行中获取一组项目