Change management tools and techniques
From PostgreSQL wiki
Jump to navigationJump to search
This page describes various tools and methodologies for conducting database changes and deploying them. It includes tools to manage schema changes (via patches, or by adding complete SQL files), sproc changes and data migrations.
Schema management tools
- Versioning by Hubert "depesz" Lubaczewski blog post
- Sqitch by David Wheeler official website
- Schema evolution manager (sem) by Gilt Groupe PGDay NYC 2013 presentation
- Pyrseas
- DBSteward
- PGmigrate
- migra: like diff but for PostgreSQL schemas by djrobstep
- PostgresCompare
- pgquarrel
- Tusker by Michael P. Jung
- metagration by Michel Pelletier
- Migrate
- migratory
- Bytebase CNCF Landscape Database CI/CD
- pg-schema-diff schema diff and online-focused migration tool by Stripe
Functions deployment
- fdiff by Joel Jacobson blog post
- Schema-based API versioning by Valentine Gogichashvili
Presentations
- ALTER DATABASE ADD SANITY by Alexey Klyukin
- Your database migrations are bad and you should feel bad(broken link:
djrobstep.com/talks/your-migrations-are-bad-and-you-should-feel-bad) by djrobstep
Developer tools
- pg_atropos (website) – CLI tool that splits PostgreSQL pg_dump -Fc (custom-format) dumps into individual files organized for Git versioning.
- pg_procrustes (website) – SQL/PL/pgSQL formatter built on PostgreSQL's own parser (pg_query_go). Fully configurable via YAML.
- pg_dbml (website) – CLI utility to export PostgreSQL schemas to DBML format via pure SQL introspection. Ideal for feeding LLMs and generating declarative data blueprints.
Miscellaneous
- Database Lab Engine – thin clones for PostgreSQL (includes DB Migration Checker)