我正在研究我们的自动真空设置的问题,并试图从last_autoanalyze和last_autovacuum中了解pg_stat_all_tables。
我理解自动吸尘器是以一种渐进的方式工作,对死元组进行批量压缩和清理,然后休息片刻等等。那么last_autovacuum是什么意思呢?是否有可能自动真空大部分工作,但时间戳可能永远不会更新(例如,因为元组不能被移除)?
我为我们的表看到的许多时间戳都是旧的,尽管我非常肯定我在其中一些表上观察到一个正在运行的自动真空线程。
编辑:如果我不清楚,我的问题是:last_autovacuum的意思是.
发布于 2021-01-04 13:13:04
我也想知道这个,所以我研究了一下Postgres src代码,试图找出.
pg_stat_get_last_autovacuum_time(C.oid) as last_autovacuum,result = tabentry->autovac_vacuum_timestamp;TimestampTz autovac_vacuum_timestamp; /* autovacuum initiated */因此,如果我正确地遵循了代码,那么last_autovacuum时间戳似乎是进程开始的时候,而不是它完成的时候。
发布于 2018-05-29 08:55:55
last_autovacuum不过是自动真空守护进程最后一次对表进行清空处理。
pg_stat_all_tables视图将包含当前数据库中每个表的一行(包括土司表),显示有关访问该特定表的统计信息。
有关更多信息,请重新编写postgresql收集器页https://www.postgresql.org/docs/9.6/static/monitoring-stats.html。
https://dba.stackexchange.com/questions/206978
复制相似问题