diff options
-rw-r--r-- | doc/src/sgml/maintenance.sgml | 7 | ||||
-rw-r--r-- | src/backend/access/transam/multixact.c | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 01ce9c4c6db..1babd0ec4a9 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -653,11 +653,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 92adeaa9a23..6ca12f1773b 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -167,7 +167,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) |