<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>pgfence Blog</title><description>Migration safety insights for Postgres teams</description><link>https://pgfence.com/</link><item><title>The lock_timeout Death Spiral: Why Every Postgres Migration Needs a Timeout</title><link>https://pgfence.com/blog/lock-timeout-death-spiral/</link><guid isPermaLink="true">https://pgfence.com/blog/lock-timeout-death-spiral/</guid><description>Your migration grabs an ACCESS EXCLUSIVE lock. It queues behind a long-running query. Every new connection piles up behind it. In 30 seconds, your entire database is frozen. Here&apos;s the fix.</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate></item><item><title>pgfence 0.4.1: Trust Contract Hardening, 22 New Tests</title><link>https://pgfence.com/blog/pgfence-0-4-1-trust-contract-hardening/</link><guid isPermaLink="true">https://pgfence.com/blog/pgfence-0-4-1-trust-contract-hardening/</guid><description>We audited every rule, extractor, and reporter in pgfence and fixed 18 silent failure paths, 6 bugs, and 11 stale comments. Here is what we found and what we fixed.</description><pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate></item><item><title>pgfence 0.4: Trace Mode, Verified Lock Analysis Against Real Postgres</title><link>https://pgfence.com/blog/pgfence-0-4-trace-mode/</link><guid isPermaLink="true">https://pgfence.com/blog/pgfence-0-4-trace-mode/</guid><description>pgfence can now execute migrations against a real Postgres instance and verify lock predictions against observed behavior. It spins up a disposable Docker container and traces statements one by one.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>False Negatives: The Silent Killer of Migration Safety Tools</title><link>https://pgfence.com/blog/false-negatives-silent-killer/</link><guid isPermaLink="true">https://pgfence.com/blog/false-negatives-silent-killer/</guid><description>Your migration linter says everything is safe. It&apos;s wrong. Here&apos;s why false negatives are more dangerous than false positives, and what we do about it.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>pgfence 0.3: VS Code Extension, LSP Server, and 5 New Rules</title><link>https://pgfence.com/blog/pgfence-0-3-vs-code-extension/</link><guid isPermaLink="true">https://pgfence.com/blog/pgfence-0-3-vs-code-extension/</guid><description>pgfence now runs inside your editor. Real-time diagnostics, quick fixes for supported safe rewrites, and hover info for SQL migrations. Plus new rules for char fields, serial columns, DROP DATABASE, and domain constraints.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The Expand/Contract Pattern: Five Zero-Downtime Migration Recipes</title><link>https://pgfence.com/blog/expand-contract-zero-downtime-migrations/</link><guid isPermaLink="true">https://pgfence.com/blog/expand-contract-zero-downtime-migrations/</guid><description>Step-by-step SQL sequences for the five most common dangerous migrations. No downtime, no blocked queries, no surprises.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>PGLT + pgfence: Catch SQL Errors and Lock Dangers in One CI Pipeline</title><link>https://pgfence.com/blog/pglt-plus-pgfence-complete-migration-safety/</link><guid isPermaLink="true">https://pgfence.com/blog/pglt-plus-pgfence-complete-migration-safety/</guid><description>Postgres Language Server validates SQL correctness. pgfence adds lock and migration-safety analysis. Here&apos;s how to run both in CI for broader migration coverage.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate></item><item><title>TypeORM Migrations Are Dangerous (Here&apos;s How to Check)</title><link>https://pgfence.com/blog/typeorm-migrations-are-dangerous/</link><guid isPermaLink="true">https://pgfence.com/blog/typeorm-migrations-are-dangerous/</guid><description>TypeORM&apos;s migration generator doesn&apos;t understand Postgres lock modes. Here&apos;s what that means for your production database and how to catch problems before they ship.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate></item><item><title>The Postgres Lock Mode Cheat Sheet Nobody Gave You</title><link>https://pgfence.com/blog/postgres-lock-mode-cheat-sheet/</link><guid isPermaLink="true">https://pgfence.com/blog/postgres-lock-mode-cheat-sheet/</guid><description>A plain-English reference for the eight PostgreSQL lock modes, which DDL statements trigger them, and what they actually block in production.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate></item><item><title>How one ADD COLUMN migration took down our 12M-row table</title><link>https://pgfence.com/blog/how-add-column-took-down-our-table/</link><guid isPermaLink="true">https://pgfence.com/blog/how-add-column-took-down-our-table/</guid><description>A war story about a volatile-default footgun, why ORMs hide it from you, and the staged rollout pattern that prevents it.</description><pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate></item></channel></rss>