Hi,
Commit f741300c90141ee274f19a13629ae03a9806b598 ("Have multixact be truncated
by checkpoint, not vacuum") changed who truncates multixact. README.tuplock
still says VACUUM is in charge of the truncation. I think it's an oversight in
updating the README unless I am missing something.
I attempted to fix it as attached. See if that makes sense.
Thanks,
Amit
diff --git a/src/backend/access/heap/README.tuplock b/src/backend/access/heap/README.tuplock
index 030f6ac..562dbf7 100644
--- a/src/backend/access/heap/README.tuplock
+++ b/src/backend/access/heap/README.tuplock
@@ -99,12 +99,13 @@ figure out whether the update committed or aborted. So we have a requirement
that pg_multixact needs to retain pages of its data until we're certain that
the MultiXacts in them are no longer of interest.
-VACUUM is in charge of removing old MultiXacts at the time of tuple freezing.
-This works in the same way that pg_clog segments are removed: we have a
-pg_class column that stores the earliest multixact that could possibly be
-stored in the table; the minimum of all such values is stored in a pg_database
-column. VACUUM computes the minimum across all pg_database values, and
-removes pg_multixact segments older than the minimum.
+The checkpointer is in charge of removing old MultiXacts at the end of a
+checkpoint. This works in the same way that pg_clog segments are removed: we
+have a pg_class column that stores the earliest multixact that could possibly
+be stored in the table; the minimum of all such values is stored in a
+pg_database column. VACUUM computes the minimum across all pg_database
+values, and sets shared memory state so that the next checkpoint removes
+pg_multixact segments older than the minimum.
Infomask Bits
-------------
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers