Peter Eisentraut wrote: > Also, I wonder whether we should not in vacuum.c change the order of the > calls of SetTransactionIdLimit() and SetMultiXactIdLimit() as well, just > to keep everything consistent.
I am wary of doing that. The current coding is well battle-tested by now, but doing things in the opposite order, not at all. Pending some testing to show that there is no problem with a change, I would leave things as they are. Probably said testing is too onerous for the benefit (which is just a little consistency). What I fear is: what happens if a concurrent checkpoint reads the values between the two operations, and a crash occurs? I think that the checkpoint might save the updated values, so after crash recovery the truncate would not be executed, possibly leaving files around. Leaving files around might be dangerous for multixacts at least (it's probably harmless for xids). -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers