Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf7e4d5c

Browse files
Doc: Clarify the role of aggressive VACUUMs.
Adjust the documentation's coverage of aggressive VACUUMs to make itclearer that aggressive vacuuming isn't always strictly necessary. It'spossible for non-aggressive VACUUMs to advance relfrozenxid/relminmxidwithout fail, given the right workload conditions.While this has always been true, it matters more with recent and pendingimprovements to VACUUM. These improvements make non-aggressivevacuuming more likely to advance relfrozenxid/relminmxid in practice.While this is an unrelated improvement to the docs, formally speaking,it still doesn't seem worth backpatching. So don't backpatch.
1 parent1b208eb commitf7e4d5c

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

‎doc/src/sgml/maintenance.sgml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -493,16 +493,17 @@
493493
will skip pages that don't have any dead row versions even if those pages
494494
might still have row versions with old XID values. Therefore, normal
495495
<command>VACUUM</command>s won't always freeze every old row version in the table.
496-
Periodically, <command>VACUUM</command> will perform an <firstterm>aggressive
497-
vacuum</firstterm>, skipping only those pages which contain neither dead rows nor
498-
any unfrozen XID or MXID values.
496+
When that happens, <command>VACUUM</command> will eventually need to perform an
497+
<firstterm>aggressive vacuum</firstterm>, which will freeze all eligible unfrozen
498+
XID and MXID values, including those from all-visible but not all-frozen pages.
499+
In practice most tables require periodic aggressive vacuuming.
499500
<xref linkend="guc-vacuum-freeze-table-age"/>
500501
controls when <command>VACUUM</command> does that: all-visible but not all-frozen
501502
pages are scanned if the number of transactions that have passed since the
502503
last such scan is greater than <varname>vacuum_freeze_table_age</varname> minus
503504
<varname>vacuum_freeze_min_age</varname>. Setting
504505
<varname>vacuum_freeze_table_age</varname> to 0 forces <command>VACUUM</command> to
505-
usethis moreaggressive strategy for all scans.
506+
alwaysuseitsaggressive strategy.
506507
</para>
507508

508509
<para>
@@ -711,8 +712,9 @@ HINT: Stop the postmaster and vacuum that database in single-user mode.
711712
</para>
712713

713714
<para>
714-
Aggressive <command>VACUUM</command> scans, regardless of
715-
what causes them, enable advancing the value for that table.
715+
Aggressive <command>VACUUM</command>s, regardless of what causes
716+
them, are <emphasis>guaranteed</emphasis> to be able to advance
717+
the table's <structfield>relminmxid</structfield>.
716718
Eventually, as all tables in all databases are scanned and their
717719
oldest multixact values are advanced, on-disk storage for older
718720
multixacts can be removed.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp