jbe*_*man 5 postgresql autovacuum
我期待与我们的自动清理的问题,并试图了解last_autoanalyze和last_autovacuum从pg_stat_all_tables。
我理解 autovacuum 以增量方式工作,批量压缩和清理死元组,然后休眠片刻,等等。那么是什么last_autovacuum意思?是否有可能 autovacuum大部分时间都在工作,但时间戳可能永远不会更新(例如,因为无法删除元组)?
我看到的许多表的时间戳都很旧,尽管我相当确定我在某些表上观察到了一个正在运行的 autovacuum 线程。
编辑:如果我不清楚,我的问题是:确实last_autovacuum意味着......
我也想知道这一点,所以我深入研究了 Postgres src 代码,试图找出答案......
pg_stat_get_last_autovacuum_time(C.oid) as last_autovacuum,
Run Code Online (Sandbox Code Playgroud)
result = tabentry->autovac_vacuum_timestamp;
Run Code Online (Sandbox Code Playgroud)
TimestampTz autovac_vacuum_timestamp; /* autovacuum initiated */
Run Code Online (Sandbox Code Playgroud)
因此,如果我正确地遵循了代码,那么last_autovacuum时间戳似乎是进程开始的时间,而不是进程完成的时间。
| 归档时间: |
|
| 查看次数: |
3057 次 |
| 最近记录: |