I broke $SUBJECT again today by removing regress_putenv from regress.so. I don't really want to put it back, but that means we need a way to drop the corresponding SQL function from the old version's regression database before attempting an upgrade.
Since I'd just seen Noah's commit 52202bb39 go by, I tried modifying src/bin/pg_upgrade/test.sh to do the drop, but that isn't helping. I recall now from prior discussions that we have to modify code that's embedded in the buildfarm client script to make this go. (I wonder what test scenario Noah had in mind, exactly.) Realizing that this has happened before and will happen again, I'm now wondering if we can't devise a fixup method that is controllable by committers and doesn't require a buildfarm client rollout to update. I'm thinking maybe we could extract the fixup logic from test.sh into a standalone SQL script that's part of the regular source tree so it can be updated by committers, and then both test.sh and the buildfarm script could invoke it. Maybe that won't work for some reason, but I'd sure like to find some way of handling this without making you get involved every time. regards, tom lane