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

Commitb4d4ce1

Browse files
committed
Increase threshold for multixact member emergency autovac to 50%.
Analysis by Noah Misch shows that the 25% threshold set by commit53bb309 is lower than any other,similar autovac threshold. While we don't know exactly what valuewill be optimal for all users, it is better to err a little on thehigh side than on the low side. A higher value increases the riskthat users might exhaust the available space and start seeing errorsbefore autovacuum can clean things up sufficiently, but a user whohits that problem can compensate for it by reducingautovacuum_multixact_freeze_max_age to a value dependent on theiraverage multixact size. On the flip side, if the emergency capimposed by that patch kicks in too early, the user will experienceexcessive wraparound scanning and will be unable to mitigate thatproblem by configuration. The new value will hopefully reduce therisk of such bad experiences while still providing enough headroomto avoid multixact member exhaustion for most users.Along the way, adjust the documentation to reflect the effects ofcommit04e6d3b, which taughtautovacuum to run for multixact wraparound even when autovacuumis configured off.
1 parent2200713 commitb4d4ce1

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

‎doc/src/sgml/maintenance.sgml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -658,11 +658,12 @@ HINT: Stop the postmaster and vacuum that database in single-user mode.
658658
<para>
659659
As a safety device, a whole-table vacuum scan will occur for any table
660660
whose multixact-age is greater than
661-
<xref linkend="guc-autovacuum-multixact-freeze-max-age">.
662-
This will occur even if autovacuum is nominally disabled. Whole-table
661+
<xref linkend="guc-autovacuum-multixact-freeze-max-age">. Whole-table
663662
vacuum scans will also occur progressively for all tables, starting with
664663
those that have the oldest multixact-age, if the amount of used member
665-
storage space exceeds the amount 25% of the addressible storage space.
664+
storage space exceeds the amount 50% of the addressible storage space.
665+
Both of these kinds of whole-table scans will occur even if autovacuum is
666+
nominally disabled.
666667
</para>
667668
</sect3>
668669
</sect2>

‎src/backend/access/transam/multixact.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@
169169
((xid) % MULTIXACT_MEMBERS_PER_MEMBERGROUP) * sizeof(TransactionId))
170170

171171
/* Multixact members wraparound thresholds. */
172-
#defineMULTIXACT_MEMBER_SAFE_THRESHOLD(MaxMultiXactOffset /4)
172+
#defineMULTIXACT_MEMBER_SAFE_THRESHOLD(MaxMultiXactOffset /2)
173173
#defineMULTIXACT_MEMBER_DANGER_THRESHOLD\
174174
(MaxMultiXactOffset - MaxMultiXactOffset / 4)
175175

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp