Simon Riggs <simon@2ndquadrant.com> writes:
> We're able to dynamically add AMs in the way you suggest, but there is
> no way to alter the RMgrTable to either add a new RM or re-assign one of
> the unused RMs.
Hmmm...
> 1. Remove the "Const" in front of RmgrTable in rmgr.c. That would allow
> re-assignment of the two existing unused RMs.
Useless, as there's no way for an add-on AM to cause the value to be
changed before recovery begins.
> 2. Create a new catalog table pg_rm and some brief machinery to populate
> the RmgrTable from pg_rm. That would allow dynamically adding RMs.
Also useless --- what if pg_rm is damaged or missing? Even if it's
there, how would recovery be able to tell which rows are valid? We
certainly don't want it trying to do pg_clog probes.
regards, tom lane