What's new in Postgres 19
Jul 23, 2026Ahmed Darwich

Summary
This post details the new `REPACK (CONCURRENTLY)` command in Postgres 19, which allows for online table rewrites to reclaim space from dead tuples. It explains the mechanism, requirements (e.g., `wal_level`, primary key), and caveats (disk space, replication slots, MVCC safety, deadlocks). It also covers the default disabling of JIT compilation and the introduction of eager aggregation and anti-join optimization for the query planner. Minor changes like LZ4 TOAST default, logging of lock waits, and new SQL features are also mentioned.