PostgreSQL: Repack Command Gets Locked Down

Five separate patches this cycle tightened the safety rules around the new REPACK CONCURRENTLY command, closing gaps that could silently lose data or block valid operations. All are backpatched to version 19, where the feature was introduced.

Duration: PT2M32S

Episode overview

This episode is a short developer briefing from PostgreSQL.

It explains recent repository work in plain language.

  • Show: PostgreSQL
  • Published: 2026-09-09T13:04:31Z
  • Audio duration: PT2M32S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

Good day, and welcome to PostgreSQL, your developer briefing for September 9th, 2026.

Today's story is really one story told five times: REPACK CONCURRENTLY, the new online table rewrite feature in version 19, is getting hardened fast, and the pattern points to a feature that shipped with more edge cases than expected.

Start with correctness. Commit e8636f2 restricts the command to the heap access method, because other table access methods don't support logical decoding, meaning concurrent changes could be silently dropped from the rewritten table. Commit 86f7c82 closes a related gap by blocking the command on user catalog tables,…

Then there's access control. Commit 0717ed2 fixes a permissions bug where the background worker driving the repack could fail with "permission denied for database" even when the invoking user had proper rights, because the connect check was being applied to the wrong role. The fix mirrors how parallel workers…

Taken together: if you're using or building on REPACK CONCURRENTLY, expect its guardrails to keep shifting through minor releases. Nathan Bossart's name shows up as reporter on three of these, suggesting active adversarial testing against the new…

Two…

Nearby episodes from PostgreSQL

  1. A Big Revert and a Round of Correctness Fixes
  2. Correctness Fixes Land Ahead of Version 19
  3. Weekly Recap - Query Planner Correctness & Concurrency Cleanup
  4. Trading Spinlocks for Atomics
  5. Ground Truth for Query Plans and Table Scans
  6. Hardening Edge Cases in Replication and Test Stability
  7. Query Planner Correctness Fixes and Version 19 Cleanup
  8. Integer Overflow Cleanup Across the Tree