Postgresql 查询pg_stat_progress_vacuum上显示的统计信息

Postgresql 查询pg_stat_progress_vacuum上显示的统计信息,postgresql,psql,vacuum,Postgresql,Psql,Vacuum,我试图理解以下参数的含义:pg\u stat\u progress\u vacuum视图上的max\u dead\u tuples/num\u dead\u tuples 从Postgres文档中: max\u dead\u tuplesbigint根据maintenance\u work\u mem在需要执行索引真空循环之前可以存储的dead tuples数 num\u dead\u tuplebigint自上次索引真空循环以来收集的dead tuple数 这是否意味着该值会根据维护\u工作\

我试图理解以下参数的含义:
pg\u stat\u progress\u vacuum
视图上的
max\u dead\u tuples
/
num\u dead\u tuples

从Postgres文档中:

max\u dead\u tuples
bigint
根据
maintenance\u work\u mem
在需要执行索引真空循环之前可以存储的dead tuples数

num\u dead\u tuple
bigint
自上次索引真空循环以来收集的dead tuple数

这是否意味着该值会根据
维护\u工作\u mem
分配进行更改?我尝试过为这个参数设置不同的值,
max_dead_tuples
上的数字增加到178956970,并且没有进一步移动。即使我减少维护工作量,这个计数器仍然保持不变。为什么会这样?这两个参数表示什么

编辑:

注意,当我使用select
pg_stat_reset()
重置统计数据时;更改
maintenance\u work\u mem
后,我在
max\u dead\u tuples
中看到了不同的值。但我不明白为什么这些值不一致


请告知。

真空
过程如下:

  • 它扫描表,直到找到尽可能多的死元组(默认为
    maintenance\u work\u mem
    max\u dead\u tuples
    是PostgreSQL估计在
    autovacuum\u work\u mem
    中可以容纳多少个元组

  • 它扫描所有索引并删除指向这些死元组的条目

  • 重复这两个步骤,直到处理完整个表
    num_dead_tuples
    是当前迭代中已找到的死元组数

    据我所知,更改
    维护工作\u mem
    不会影响已经运行的
    真空吸尘器,但我可能错了