PostgreSQL: Query Planner Gets Smarter About Nulls
A cluster of commits from Richard Guo teaches the query planner to recognize more cases where outer joins can be simplified using whole-row null tests, while separate fixes close a use-after-free bug in foreign key checks and crash risks in Perl-based extensions.
Duration: PT2M39S
Episode overview
This episode is a short developer briefing from PostgreSQL.
It explains recent repository work in plain language.
- Show: PostgreSQL
- Published: 2026-08-19T13:04:08Z
- Audio duration: PT2M39S
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 developer briefing for August 19th, 2026.
Today's activity centers on one core theme: making the query planner reason more precisely about nulls in outer joins, alongside a set of defensive fixes closing gaps that could crash or corrupt memory under specific conditions.
Richard Guo landed three related commits reworking how the planner detects when an outer join can be reduced to a cheaper anti-join or inner join. Commit 02119d6 teaches the planner to recognize a whole-row "IS NULL" test as anti-join evidence, not just a single-column test. Commit f863be3 does the mirror image,…
The second theme is memory safety in long-lived structures. Amit Langote's commit 170c934 fixes a use-after-free in foreign key checking: an invalidation callback was freeing metadata that was still in active use during a batch of row checks, a bug that could surface when DDL runs concurrently with foreign key…
Rounding out the day: postgres foreign data wrapper can now push function calls into remote joins when the function is immutable, courtesy of Alexander Pyhalov's work merged by Alexander Korotkov. And smaller fixes tightened an ACL check in table repacking and…
W…
Nearby episodes from PostgreSQL
- Silent Data Loss Bug Fixed in GIN Indexes
- Subtransaction Edge Cases and Long-Overdue Cleanup
- Trusting Input, Fixing Silent Failures
- A Deep Dive Into Data Corruption Fixes
- Closing the Gaps on Concurrent Race Conditions
- Small Fixes, Steady Hardening
- Weekly Recap - Cleanup, Correctness, and Closing Old Doors
- Housekeeping and Code Clarity