diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 211ad03d954fab55b4cb229297d1c55cf35fc731..e34426ff18f5be7fe4076a25c30b00479b636034 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -658,11 +658,12 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. <para> As a safety device, a whole-table vacuum scan will occur for any table whose multixact-age is greater than - <xref linkend="guc-autovacuum-multixact-freeze-max-age">. - This will occur even if autovacuum is nominally disabled. Whole-table + <xref linkend="guc-autovacuum-multixact-freeze-max-age">. Whole-table vacuum scans will also occur progressively for all tables, starting with those that have the oldest multixact-age, if the amount of used member - storage space exceeds the amount 25% of the addressible storage space. + storage space exceeds the amount 50% of the addressible storage space. + Both of these kinds of whole-table scans will occur even if autovacuum is + nominally disabled. </para> </sect3> </sect2> diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index fc0e4e740044aa1af1c8b2a6d606269225262211..d92cbccaf8a5852511cb540042cba371914fc250 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -169,7 +169,7 @@ ((xid) % MULTIXACT_MEMBERS_PER_MEMBERGROUP) * sizeof(TransactionId)) /* Multixact members wraparound thresholds. */ -#define MULTIXACT_MEMBER_SAFE_THRESHOLD (MaxMultiXactOffset / 4) +#define MULTIXACT_MEMBER_SAFE_THRESHOLD (MaxMultiXactOffset / 2) #define MULTIXACT_MEMBER_DANGER_THRESHOLD \ (MaxMultiXactOffset - MaxMultiXactOffset / 4)