PGSQL Phriday #009 Invitation: Making Changes
It's almost Phriday again! This is a monthly blogging event for the PostgreSQL community. The rules:
- publish something
on-themeon or near Friday, June 2nd
- include "PGSQL Phriday #009" in your title or first paragraph, and link to this invitation post
- share it! The best way to reach the greater Postgresphere is to get syndicated on Planet Postgres, but you can also share on #pgsqlphriday in the community Slack or post to social media with the #PGSQLPhriday hashtag
This month's topic is database change management, aka schema evolution. I've been doing this in one form or another, using one framework or another (and on one less-memorable-than-you'
Every now and then, someone will extol the benefits of version-controlling your schema -- Grant Fritchey discussed this at PGDay Chicago just last month -- or write a
Plumbing is really important, and there are a lot of fascinating technical, procedural, social, even philosophical aspects to it. Let's haul a few of them into the spotlight!
Some starting points:
- how does a change make it into production? Do you have a dev-QA-staging or similar series of environments it must pass through first? Who reviews changes and what are they looking for?
- what's different about modifying huge tables with many millions or billions of rows? How do you tackle those changes? Do you use the same strategy for smaller tables?
- how does Postgres make certain kinds of change easier or more difficult compared to other databases?
- do you believe that "rolling back" a schema change is a useful and/or meaningful concept? When and why, or why not?
- how do you validate a successful schema change? Do you have any useful processes, automated or manual, that have helped you track down problems with rollout, replication, data quality or corruption, and the like?
- what schema evolution or migration tools have you used? What did you like about them, what do you wish they did better or (not) at all?
- tales of terror in the Kletzian mode are also of course very welcome!