]> granicus.if.org Git - postgresql/blobdiff - src/backend/commands/vacuum.c
Have multixact be truncated by checkpoint, not vacuum
[postgresql] / src / backend / commands / vacuum.c
index 3d2c73902c6ef73460a98e64b30a85e962280b44..8822a154dccee7552403b1b6bb847c741219b9a4 100644 (file)
@@ -969,9 +969,11 @@ vac_truncate_clog(TransactionId frozenXID, MultiXactId minMulti)
                return;
        }
 
-       /* Truncate CLOG and Multi to the oldest computed value */
+       /*
+        * Truncate CLOG to the oldest computed value.  Note we don't truncate
+        * multixacts; that will be done by the next checkpoint.
+        */
        TruncateCLOG(frozenXID);
-       TruncateMultiXact(minMulti);
 
        /*
         * Update the wrap limit for GetNewTransactionId and creation of new
@@ -980,7 +982,7 @@ vac_truncate_clog(TransactionId frozenXID, MultiXactId minMulti)
         * signalling twice?
         */
        SetTransactionIdLimit(frozenXID, oldestxid_datoid);
-       MultiXactAdvanceOldest(minMulti, minmulti_datoid);
+       SetMultiXactIdLimit(minMulti, minmulti_datoid);
 }