On Mon, 2021-06-21 at 22:50 -0400, Bruce Momjian wrote: > On Fri, Jun 18, 2021 at 08:51:00AM +0200, Laurenz Albe wrote: > > On Thu, 2021-06-17 at 18:31 +0000, PG Doc comments form wrote: > > > In section "24.1.5.1. Multixacts And Wraparound" of > > > https://www.postgresql.org/docs/current/routine-vacuuming.html we find the > > > following sentence towards the end of the section: > > > > > > "...If the amount of used member storage space exceeds the amount 50% of > > > the > > > addressable storage space." > > > > > > I am having trouble parsing "...exceeds the amount 50% of the > > > addressable..." part. > > > > I think that the second "the amount" in the sentence should be removed. > > I think it is worse than that. Here is the full paragraph: > > As a safety device, an aggressive vacuum scan will occur for any table > whose multixact-age is greater than > <xref linkend="guc-autovacuum-multixact-freeze-max-age"/>. Aggressive > 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 50% of the addressable storage space. > Both of these kinds of aggressive scans will occur even if autovacuum is > nominally disabled. > > What does "the amount of used member storage space exceeds 50% of the > addressable storage space" mean?
You are right. See MultiXactMemberFreezeThreshold for the whole story. What about: As a safety device, an aggressive vacuum scan will occur for any table whose multixact-age (see <xref linkend="vacuum-for-multixact-wraparound"/>) is greater than <xref linkend="guc-autovacuum-multixact-freeze-max-age"/>. Also, if the storage occupied by multixacts exceeds 2GB, aggressive vacuum scans will occur more often for all tables, starting with those that have the oldest multixact-age. Both of these kinds ... I hope I read the source right concerning the 2GB. Yours, Laurenz Albe