PostgreSQL: Hardening the B-tree Index Under Concurrency

Four commits focused on tightening correctness guarantees in the nbtree index, closing a subtle serializable isolation race and adding new isolation tests to lock in coverage for rare concurrency edge cases.

Duration: PT2M23S

Episode overview

This episode is a short developer briefing from PostgreSQL.

It explains recent repository work in plain language.

  • Show: PostgreSQL
  • Published: 2026-07-26T13:02:34Z
  • Audio duration: PT2M23S

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 development briefing for July 26th, 2026.

Today's activity centers almost entirely on one part of the system: the B-tree index, and specifically how it behaves under concurrent access. The throughline is correctness under pressure - making sure edge cases in index scans and locking don't quietly produce wrong answers.

Start with the bug fix. Peter Geoghegan's commit ce3f19e closes a serializable snapshot isolation race in completely empty B-tree indexes. An earlier fix handled one code path where a scan could miss a concurrently inserted tuple because the predicate lock was taken too late. This commit finds a second, related path…

Following right behind that fix are two test-focused commits, also from Geoghegan. Commit 62c05d6 adds isolation tests specifically targeting empty-index predicate locking, using injection points to simulate the race conditions the bug fix addressed. And commit e395fbd adds test coverage for backwards index scans, a…

Together, these three commits tell a clear story: recent B-tree concurrency bugs prompted not just patches, but a deliberate investment in test infrastructure - injection points - to simulate…

One more…

Nearby episodes from PostgreSQL

  1. Getting Permission Checks Right
  2. Publication Testing and Docs Get a Cleanup
  3. Version 19's Growing Pains
  4. Polish Pass on Messages and Edge Cases
  5. Cleaning Up After Recent Features
  6. Closing the Gaps Between Correctness and Convention
  7. Weekly Recap - Correctness Fixes and Late-Beta Caution
  8. Five Bug Fixes, One Pattern of Care in Correctness