The Restrict Revert and Replication Safety

Today we dive into a fascinating technical reversal where PostgreSQL had to backtrack on a seemingly simple change due to C++ compatibility issues. We also explore crucial improvements to replication origin safety and several quality-of-life fixes that show the community's attention to detail.

Duration: PT4M10S

Episode overview

This episode is a short developer briefing from PostgreSQL.

It explains recent repository work in plain language.

  • Show: PostgreSQL
  • Published: 2026-01-14T16:05:22Z
  • Audio duration: PT4M10S

Transcript excerpt

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

Hey there, fellow code explorers! Welcome back to another episode of the PostgreSQL podcast. It's January 14th, and I'm excited to dig into some really interesting developments from the PostgreSQL world with you today.

You know, sometimes the most fascinating stories in software development aren't about adding new features - they're about the unexpected challenges that force us to step back and rethink our approach. And today's episode has a perfect example of that.

Let's start with what I'm calling the "restrict restriction reversal" - and yes, that's a mouthful! Peter Eisentraut had to revert a previous commit that seemed straightforward: replacing PostgreSQL's custom `pg_restrict` with the standard C11 `restrict` keyword. On the surface, this looked like a great cleanup -…

But here's where it gets interesting. The original change worked beautifully for C code, but it completely broke C++ compatibility. You see, standard C++ doesn't have the `restrict` keyword, so when PostgreSQL tried to define it as something else for C++ builds, it started conflicting with Microsoft's Visual C++…

Speaking of important changes, Amit Kapila delivered a crucial fix for replication origins that…

Micha…

Nearby episodes from PostgreSQL

  1. Bug Hunting Season in PostgreSQL
  2. Query Safety First - PostgreSQL's Latest Security and Stability Fixes
  3. Polish and Precision Day
  4. Test Fixes and Build Improvements Day
  5. Test Infrastructure and Protocol Fixes
  6. Weekly Recap - Security and Stability Fixes
  7. Data Handling Corrections
  8. Cross-Version Upgrade Test Fix