@@ -616,13 +616,16 @@ HINT: Stop the postmaster and vacuum that database in single-user mode.
616616 </indexterm>
617617
618618 <para>
619- <firstterm>Multixacts</> are used to implement row locking by
620- multiple transactions: since there is limited space in the tuple
621- header to store lock information, that information is stored as a
622- multixact separately in the <filename>pg_multixact</> subdirectory,
623- and only its ID is in the <structfield>xmax</> field
624- in the tuple header.
625- Similar to transaction IDs, multixact IDs are implemented as a
619+ <firstterm>Multixact IDs</> are used to support row locking by
620+ multiple transactions. Since there is only limited space in a tuple
621+ header to store lock information, that information is encoded as
622+ a <quote>multiple transaction ID</>, or multixact ID for short,
623+ whenever there is more than one transaction concurrently locking a
624+ row. Information about which transaction IDs are included in any
625+ particular multixact ID is stored separately in
626+ the <filename>pg_multixact</> subdirectory, and only the multixact ID
627+ appears in the <structfield>xmax</> field in the tuple header.
628+ Like transaction IDs, multixact IDs are implemented as a
626629 32-bit counter and corresponding storage, all of which requires
627630 careful aging management, storage cleanup, and wraparound handling.
628631 </para>
@@ -634,8 +637,8 @@ HINT: Stop the postmaster and vacuum that database in single-user mode.
634637 is replaced by a different value, which can be the zero value, a single
635638 transaction ID, or a newer multixact ID. For each table,
636639 <structname>pg_class</>.<structfield>relminmxid</> stores the oldest
637- possible value still stored in any tuple of that table. Every time this
638- value is older than
640+ possible multixact ID still appearing in any tuple of that table.
641+ If this value is older than
639642 <xref linkend="guc-vacuum-multixact-freeze-table-age">, a whole-table
640643 scan is forced. Whole-table <command>VACUUM</> scans, regardless of
641644 what causes them, enable advancing the value for that table.
0 commit comments