Peter Eisentraut <peter.eisentr...@enterprisedb.com> writes: > I'm thinking about adding two more int fields to Pg_magic_struct: a > product or vendor magic number, and an ABI version that can be used > freely within a product/vendor.
Who would hand out these magic numbers? If the answer is "choose a random one, it probably won't collide" then I'm not sure why we need two fields. You can choose a new random number for each ABI version, if you're changing it faster than once per PG major version. I'm also kind of unclear on why we need to do anything about this in the community version. If someone has forked PG and changed APIs to the extent that extensions are unlikely to work, there's not much stopping them from also making the two-line change to fmgr.h that would be needed to guarantee that different magic struct contents are needed. regards, tom lane