Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> On 13.06.2011 21:31, Tom Lane wrote:
>> So far as I can tell, that breaks pg_upgrade (if there are any open
>> prepared transactions) for no redeeming social benefit.
> Surely pg_upgrade can't work anyway if there's any open prepared
> transactions in the database. We're not going to guarantee to keep all
> the data structures we write in two-phase state files unchanged over
> major releases. If pg_upgrade is not checking for prepared transcations
> at the moment, such a check should probably should be added.
No, pg_upgrade should not be unilaterally refusing that. The correct
way to deal with this consideration is to change the TWOPHASE_MAGIC
number when we make a change in on-disk 2PC state. Which wasn't done
in the SSI patch. We can either change that now, or undo the
unnecessary change in existing RM IDs. I vote for the latter.
regards, tom lane