System Design

Why PostgreSQL 19 Is the Most Reverted Release Ever?

PostgreSQL 19 pulled 53+ features during beta, more than any release ever. Here's what got cut, why it happened, and what you should do about your upgrade.

M
Md Shayon
Sep 20, 2026
4 min read
Table of Contents
Why PostgreSQL 19 Is the Most Reverted Release Ever?

PostgreSQL 19 was gonna be big. Graph queries. Online partition stuff. A 2x speed boost on foreign key inserts.

Then they pulled almost all of it. Not because things broke. Because they found problems before shipping. And that's the whole story here.

The Numbers Are Kind of Crazy

Postgres 18 pulled 44 features during beta. Everyone thought that was wild.

Postgres 19 is at 53 reverts. And it's still going.

One week in September? Six reverts. Seven days. 74 commits gone.

There's no RC date yet. Postgres 18 had its RC on September 4 last year and shipped three weeks later. Postgres 19? Nothing on the calendar.

So yeah, it's late. Weeks. Maybe months.

What Got Cut

These weren't small things either.

SQL/PGQ Property Graphs: gone. September 7. 47 commits removed.

ALTER TABLE MERGE/SPLIT PARTITION: gone. August 27. The bugs were scary. Dropped constraints. Broken generated columns. Replication doing weird stuff.

UPDATE/DELETE FOR PORTION OF: gone. September 15. Had security issues too.

Online data checksums: gone. September 16. 30 commits.

The 2x foreign key speedup: mostly gone. September 10.

That's a lot of work down the drain. Except it's not. More on that later.

The Bug That Killed the 2x Speedup

This one's interesting.

Postgres checks foreign keys by running a real query. Slow but correct.

Version 19 tried a shortcut. Just probe the index directly. Way faster.

Problem? Wrong collation. On tables with non-default collations, it could reject valid inserts.

Not crash. Not slow. Just wrong. Silently.

Amit Kapila found it. The batching part got pulled. The per-row path stayed.

Nobody's saying "2x" anymore.

"The RI fast path uses the wrong collation for the index probe." Amit Kapila

Learn MongoDB vs PostgreSQL
vs PostgreSQLoDB vs PostgreSQL

The "Scary Patch Contest"

Robert Haas did something unusual on August 25.

He asked Claude (the AI) to rank PG19 features by how many bugs got fixed after freeze.

Then he posted the top six and asked: should we pull these?

Here's the list:

Feature

Fixes

FK batching

~16

REPACK CONCURRENTLY

28

Online checksums

~25

FOR PORTION OF

17

SQL/PGQ

17

postgres_fdw stats

7

People got fired up. Tom Lane and Andres Freund wanted SQL/PGQ gone. Daniel Gustafsson said he could revert checksums in 90 minutes.

Melanie Plageman said: "Bad alternatives aren't the bar for core."

By September 16, four of six were gone.

AI Is Changing How This Works

You can't skip this part.

Haas used AI to find the scary patches. Someone else started using AI to find bugs and suggest fixes.

Is AI helping? Probably. It's catching stuff people missed.

But it's also creating more work. More bugs found means more decisions to make.

One example: Postgres 18's August 2026 patch had 28 CVEs. Used to be a couple per release.

No official AI policy yet. One's coming.

"In an age of ship-ship-ship and AI rush, the human rigor of the Postgres core team is admirable." Elizabeth Garrett Christensen.

What I Learned Switching From SQL to MongoDB

What's Actually Coming

Postgres 19 isn't empty. Good stuff survived.

REPACK in core, no more pg_repack extension. REPACK CONCURRENTLY rewrites tables online. Scope got cut but it's there.

New SQL stuff:

  • INSERT ... ON CONFLICT DO SELECT ... RETURNING

  • IGNORE NULLS for window functions

  • GROUP BY ALL

  • error_on_null()

Planner wins:

  • Eager aggregation

  • Faster anti-joins

  • pg_plan_advice

  • Parallel autovacuum

New views:

  • pg_stat_lock

  • pg_stat_recovery

  • pg_stat_autovacuum_scores

  • pg_dsm_registry_allocations

Stuff that might break your upgrade:

  • JIT off by default

  • lz4 becomes default TOAST compression

  • inet/cidr GiST needs reindex

  • max_locks_per_transaction doubled

Why This Is Actually Good

Most projects would ship anyway. Just push it out and fix it later.

Postgres didn't.

They deleted 15,859 lines of code six weeks before release. Years of work. Gone. Because it wasn't ready.

Lauren McGuire said it perfectly:

"Ask honestly whether your organization could do that. Can a staff engineer, in week eleven of a twelve-week cycle, revert the feature that was in the launch email, and have that be a normal Tuesday? If the answer is no, you do not have a release process. You have a schedule with tests attached."

That's the whole thing right there.

What You Should Do

On Postgres 14? Upgrade before November 12, 2026. That's end of life. Go to 18.

Planning for 19? Wait. Go to 18 now. Move to 19 after the first minor releases.

Lost features you wanted? They're coming in Postgres 20. Property graphs. Partition merging. Most of it.

Watch the wiki, not the press releases. The open items wiki tells you what's actually happening.

The Bottom Line

Postgres 19 is late. It's smaller than planned. And it's gonna be solid because of it.

The team pulled four of their six scariest features in three weeks. They chose correct over on time.

That's not failure. That's how it should work.

Tags

# postgresql 19# postgresql 19 features# postgresql 19 release date# postgresql 19 reverts# postgresql 19 delayed# postgresql 19 beta# postgresql upgrade guide# postgresql 18 vs 19# postgresql sql/pgq# postgresql repack# postgresql foreign key performance# postgresql collation bug# postgresql 19 changes# database upgrade# postgresql 14 end of life# postgresql 20# open source database# postgresql news# database management# sql features
Keep Reading

Related Articles

Continue your learning journey