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 次 |
最近记录: |