Rejigger 2.4.3-2.5.0 upgrade bits

As reported in LP#1261355, Postgres fails in some cases when changing
constraints on existing data inside a transaction.  This may or may not
fix the actual problem, but it at least tidies up these changes, and
will make it much cleaner to move outside the transaction if needed.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>