Skip to content
Tech News
← Back to articles

Looking Ahead to Postgres 19

read original more articles
Why This Matters

Postgres 19 introduces a range of practical enhancements that aim to improve database maintenance, performance, and functionality, making it highly relevant for both developers and operations teams. Its new features like REPACK CONCURRENTLY and expanded partitioning capabilities help streamline workflows and optimize large-scale database management, ensuring Postgres remains a robust choice for production environments.

Key Takeaways

Every Postgres release has a personality.

Some releases are about one big headline feature. Some are about removing a long-standing pain point. Some are full of those "oh, nice" improvements that you don't fully appreciate until you upgrade and suddenly your day-to-day workflow is just a little bit smoother. Oh, and of course almost every release has some performance improvements sprinkled in.

Postgres 19 feels like one of those releases that has a bit of everything. REPACK CONCURRENTLY is a big quality-of-life upgrade for larger production databases and it's built in. There are some big-ticket features, yes. SQL property graph queries are going to get a lot of attention. Logical replication keeps getting more complete. And then there are the steady improvements across VACUUM, EXPLAIN, COPY, partitioning, monitoring, performance and planner behavior that continue to make Postgres better not in a flashy way, but in the very practical "this helps me run production systems" way.

As always with a beta, details can change before GA. But with Postgres 19 now in beta, it's a good time to start looking at what is coming and, more importantly, what it means for people building and operating on Postgres.

REPACK out of the box

If you have operated Postgres for long enough, you have probably had a moment where you wanted to reclaim table bloat, rewrite a table or reorganize data — but you very much did not want to take the lock that came with VACUUM FULL or CLUSTER .

There has long been an extension ecosystem around this problem, most notably pg_repack . That alone tells you something: Users had a real need, and the ecosystem filled the gap.

Postgres 19 brings a new REPACK command into core, including support for REPACK CONCURRENTLY .

I expect REPACK CONCURRENTLY to be one of those features that production Postgres users care about more than the average release-note reader might expect.

Partitioning gets more practical

... continue reading