I'm working on an open-source PostgreSQL migration analyzer called safe-migrate, and I've realized that the test cases I can invent are much neater than production.
I'm looking for counterexamples: migrations that seemed routine, then behaved very differently on a real database. I don't want to make up edge cases from a desk and declare them "covered."
Things I'd especially like to learn about:
a migration that was fine in staging and bad in production
a lock, rewrite, dependency, partition, trigger, policy, or function surprise






