Onderschep de databasemigratie die je productietabel op slot zet of herschrijft, voordat die in productie komt. Een statische auditor voor Flyway en Liquibase die elk productierisico aanwijst met de precieze reden en de veilige herschrijving, te draaien als CLI, als CI-gate of als Claude Code-skill. Hij maakt nooit verbinding met je database.
De meeste migratiereviews zijn een generalist die een diff leest. Daarmee mis je juist de specifieke manieren waarop een PostgreSQL-migratie je site plat legt. De auditor controleert 36 regels, parst je werkelijke migratie met de echte PostgreSQL-parser (geen regex) en markeert elk risico met een officiële bronvermelding:
ALTERs (ACCESS EXCLUSIVE en verwanten)SET NOT NULL die de hele tabel scant, en wanneer een gevalideerde CHECK je dat op PG12+ bespaartNOT VALID gevolgd door VALIDATEDe tien schemawijzigingen die een draaiende PostgreSQL-database het vaakst plat leggen, met voor elk de veilige herschrijving. Een migratie is gevaarlijk zodra hij een zware lock vasthoudt (ACCESS EXCLUSIVE blokkeert lezen en schrijven, SHARE blokkeert schrijven) terwijl hij een grote tabel scant of herschrijft. Op een kleine tabel merk je er niets van, op een drukke productietabel is het een storing. Flyway en Liquibase verpakken elke migratie standaard in een transactie, en dat maakt voor een aantal hiervan uit.
CREATE INDEX CONCURRENTLY ... buiten een transactie.ADD CONSTRAINT c CHECK (col IS NOT NULL) NOT VALID, dan VALIDATE CONSTRAINT c, dan SET NOT NULL (scan vervalt op PG12+).NOT VALID en doe daarna VALIDATE.NOT VALID, daarna VALIDATE.SET DEFAULT.CREATE UNIQUE INDEX CONCURRENTLY, daarna ADD CONSTRAINT ... USING INDEX.SET lock_timeout = '2s'; vóór riskante DDL, en opnieuw proberen bij een timeout.Valkuil: CREATE INDEX CONCURRENTLY kan niet binnen een transactie draaien, en precies zo verpakken Flyway en Liquibase migraties standaard, dus een kale concurrent-index-migratie loopt vast. Zet de omhullende transactie uit voor die ene migratie. De auditor vangt ook dit, plus 25 regels bovenop deze tien.
De Claude Code-skill en de CLI, gebouwd op libpg_query (de parser die PostgreSQL zelf gebruikt), met alle 5 platformbinaries meegeleverd. Alleen Python 3, verder niets te installeren via pip. Linux, macOS en Windows.
Machineleesbare JSON volgens een gedocumenteerd schema, exitcodes gekoppeld aan severity zodat het zo in een pipeline past, en een configbestand voor je Postgres-versie en je drempel voor grote tabellen.
Elke regel verwijst naar een officiële bron van Postgres, Flyway of Liquibase. Inclusief een regressiesuite van 224 uitgewerkte voorbeelden die je zelf kunt draaien.
Bewust puur statische analyse: hij leest de tekst van de migratie en maakt nooit verbinding met je database, dus hij heeft geen credentials nodig en draait identiek in CI of op je laptop, zonder dat er iets je machine verlaat. Hij redeneert op basis van de Postgres-versie en de rijaantallen die je meegeeft (of die automatisch worden ingevuld via de optionele lokale read-only introspectie) en vangt de veelvoorkomende risico's met grote impact die een diff-review mist.
Eenmalige aankoop, €14,99. Verkocht via Polar of Lemon Squeezy, allebei merchant of record met de btw geregeld. Directe download, alle platformen.
Eerst de engine zelf draaien? Postgres Migration Guard is de gratis, open source subset: 12 van dezelfde regels, als CLI en als GitHub Action.