Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Bruce Momjian wrote:
>> Why would we want this if the system functions fine without those files
>> being created? I don't think we want pg_resetxlog to be doing anything
>> except changing pg_controldata.
> I don't understand why you say the system functions fine. If you move
> the multixactid with pg_resetxlog to a point which doesn't have the
> necessary file and page, the system will not start. Only pg_upgrade
> knows to create the file appropriately, but normal operation doesn't.
Yeah. In my mind, at least, there's been a TODO for some time for
pg_resetxlog to make sure that pg_clog and the other SLRU-like files
get populated appropriately when you tell it to change those counters.
You have to have a segment file at the right place or startup fails.
I'm not sure why Alvaro chose to fix this only for pg_multixact, but
fixing that case is better than not fixing anything.
regards, tom lane