PostgreSQL: Concurrency Race Fixes and Replay Relief

Thirteen commits centered on concurrency correctness, with fixes for MERGE, logical replication sequence sync, and standby replay locks, plus a shift to atomic variables and routine cleanup. The main impact is fewer wrong results, stalled subscriptions, and standby delays under concurrent activity.

Duration: PT2M15S

Episode overview

This episode is a short developer briefing from PostgreSQL.

It explains recent repository work in plain language.

  • Show: PostgreSQL
  • Published: 2026-09-23T13:05:34Z
  • Audio duration: PT2M15S

Transcript excerpt

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

Good morning, it's Wednesday, September 23rd, 2026, and this is your PostgreSQL briefing.

Today's work is about concurrency: three fixes for what goes wrong when another session deletes or changes data at the same time, plus a push to modernize low-level locking.

First, correctness under race conditions. In commit 85f5553, a fix for MERGE when not matched by source: if the target row was concurrently deleted, retry logic could incorrectly fire a when-not-matched-by-target action. The fix limits that retry to when-matched actions only, doing nothing when the source row never…

Second, standby replay performance. Commit 07c73f4 removes unnecessary cleanup locks during replay of freeze-only and visibility-map-only records. Those records do not move or remove tuple storage, so they do not need to wait for buffer pins to be released. Previously they forced delays and could cancel standby…

Finally, cleanup. Two commits convert shared counters to atomics — the shared file set reference count and a startup buffer wait field in the process header — removing a spinlock and volatile qualifiers. Separately, there is a hash function cleanup to avoid useless casting, an alignment fix in GIN tuples…

W…

Nearby episodes from PostgreSQL

  1. Upgrade Check and Error Code Cleanup
  2. Simplified Hashing for Sort Estimates
  3. Weekly Recap - Planner Correctness, Conflict Safety and JSON Fixes
  4. JSON_TABLE Error Cascade, Join Fix and Test Flakiness
  5. Correctness Fixes Across Planner, Replication, and Foreign Keys
  6. Correctness Fixes Land Ahead of Version 19
  7. Tightening Up Before Release
  8. Table Access and REPACK Reliability