在 PG 日志文件中,我们可以找到一些有关 Vacuum 如何在表上工作的统计信息。 为什么vacuum需要访问WAL来清理表?
pages: 0 removed, 1640 remain, 0 skipped due to pins, 0 skipped frozen
tuples: 0 removed, 99960 remain, 0 are dead but not yet removable, oldest xmin: 825
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 8.878 MB/s, avg write rate: 0.000 MB/s
buffer usage: 48 hits, 1 misses, 0 dirtied
**WAL usage: 1 records**, 0 full page images, 229 bytes
system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
VACUUM
通过删除旧行版本、冻结行并截断表末尾的空页来修改表。
对表的所有修改都会记录在 WAL 中,这也适用于
VACUUM
。毕竟,您需要在崩溃后重播这些活动。
无论如何,我们可以避免这段时间产生大量的 WAL 吗?