为什么 template0 DB 的事务年龄会增加,而它从未被使用过?
datname | age |
----------------------+-----------+
template0 | 192232070
每个数据库的pg_database
条目中都有一个datfrozenxid
。这与数据库中所有表的pg_class
条目的最小relfrozenxid
相同。
每当VACUUM
冻结表中的元组时,它都可以推进这些列。
实际上没有必要定期吸尘template0
。但是,即使在该数据库中,只要表的relfrozenxid
早于autovacuum_freeze_max_age
,表也会收到反环绕自动真空运行。这将很快完成:PostgreSQL将在可见性地图中看到所有页面都"全部冻结"并前进relfrozenxid
。
这不是真正的问题,所以没有人认为有必要改变或优化它。