Re: VACUUM FREEZE vs plain VACUUM
От | Laurenz Albe |
---|---|
Тема | Re: VACUUM FREEZE vs plain VACUUM |
Дата | |
Msg-id | e557474d5ee29cca18cea4efb5c3980daaf43cff.camel@cybertec.at обсуждение исходный текст |
Ответ на | VACUUM FREEZE vs plain VACUUM (Ron Johnson <ronljohnsonjr@gmail.com>) |
Ответы |
Re: VACUUM FREEZE vs plain VACUUM
|
Список | pgsql-admin |
On Thu, 2025-07-17 at 18:03 -0400, Ron Johnson wrote: > Does VACUUM FREEZE do something extra or special than to defer autovacuum > for an extra 50,000,000 transactions? What it does is set vacuum_freeze_table_age, vacuum_freeze_min_age, vacuum_multixact_freeze_table_age and vacuum_multixact_freeze_min_age to 0: if (params.options & VACOPT_FREEZE) { params.freeze_min_age = 0; params.freeze_table_age = 0; params.multixact_freeze_min_age = 0; params.multixact_freeze_table_age = 0; } So it's going to be an aggressive VACUUM. To quote the documentation: An aggressive scan differs from a regular VACUUM in that it visits every page that might contain unfrozen XIDs or MXIDs, not just those that might contain dead tuples. And it is going to freeze all tuples that are visible to everybody. The latter will advance "relfrozenxid" and "relminmxid" for the table, unless there is an open transaction or something similar that prevents freezing of a tuple. To answer your question: the extra thing it does is that it even visits table pages that have the all-visible flag set, that is, they contain no dead tuples. That means that it will do more work and use more of your system's resources. Yours, Laurenz Albe
В списке pgsql-admin по дате отправления: