2026-06-01

Report oldest xmin source when autovacuum cannot remove tuples

## Incremental Update: Report Oldest Xmin Source When Autovacuum Cannot Remove Tuples ### Summary Limited new technical substance since the last analysis. The thread saw one bug identification by th...

pg_rewind does not rewind diverging timelines

# pg_rewind Does Not Rewind Diverging Timelines — May 2026 Summary ## Problem Statement Mats Kindahl discovered (via TLA+/TLC model checking) that PostgreSQL's timeline identifier (TLI) system can s...

future of PQfn()

## Incremental Update: Concrete Benchmarks, WIP Patches, and Protocol Design Discussion ### Key Developments 1. **Nathan posted concrete benchmark results at 1M scale** comparing Jelte's `CreateOne...

Multi-Entry Indexing for GiST & SP-GiST

## Incremental Analysis: Andrey Borodin's Architectural Review Andrey Borodin provides the first substantive review of the GiST-side architecture, raising three distinct technical concerns and broade...

[PATCH] Fix libxml leaks in contrib/xml2 XPath functions

# Technical Analysis: Fix libxml Leaks in contrib/xml2 XPath Functions ## Core Problem The `contrib/xml2` module contains two memory leak bugs on **successful execution paths** in its XPath evaluat...

s/pg_attribute_always_inline/pg_always_inline/?

# Technical Analysis: Renaming `pg_attribute_always_inline` to a Shorter Form ## Core Problem The macro `pg_attribute_always_inline` — used to force the compiler to inline a function regardless of ...

remove pg_spin_delay() from atomics code

## Incremental Update No substantive technical progress since the prior analysis. The two new messages are: 1. **Corey Huinker** provides a +1 endorsement with no new technical content beyond affirm...

[PATCH] pg_stat_lock: add blocker mode dimension

# Technical Analysis: pg_stat_lock Blocker Mode Dimension ## Core Problem PostgreSQL's `pg_stat_lock` view (introduced in recent versions to provide cumulative lock wait statistics) currently aggre...

RFC: Allow EXPLAIN to Output Page Fault Information

# Monthly Summary: RFC: Allow EXPLAIN to Output Page Fault / Storage I/O Information — May 2026 ## Overview This month saw the discussion mature from technical refinement into a serious viability de...

Changing the state of data checksums in a running cluster

# Monthly Summary: Online Data Checksums — May 2026 ## Overview May 2026 saw continued post-commit stabilization of the online data checksums feature. The major commit had already landed, and this m...

tablecmds: clarify recurse vs recusing

# Technical Analysis: tablecmds.c `recurse` vs `recursing` Parameter Naming Clarity ## Core Problem PostgreSQL's `tablecmds.c` is one of the largest and most complex files in the codebase, implemen...

POC: enable logical decoding when wal_level = 'replica' without a server restart

# Dynamic Logical Decoding Activation Without Server Restart ## Core Problem PostgreSQL's `wal_level` parameter controls how much information is written to WAL records. Setting it to `logical` enab...

Is there value in having optimizer stats for joins/foreignkeys?

# Monthly Summary: Join Statistics for the PostgreSQL Planner (May 2026) ## Overview May 2026 saw the "join statistics" patch transition from conceptual design convergence to active committer-level ...

pg_rewind: Skip vanished source files during traversal

# pg_rewind: Skip Vanished Source Files During Traversal ## Core Problem This thread identifies a potential bug in `pg_rewind`'s source directory traversal logic within `recurse_dir()`. The issue c...

Incremental View Maintenance, take 2

# Incremental View Maintenance (IVM) for PostgreSQL — Deep Technical Analysis ## The Core Problem Materialized views in PostgreSQL are static snapshots: they must be fully recomputed via `REFRESH MA...

some utf8 breaking substring(txt,1,3) but not substring(txt from '^.{4}')

# Technical Analysis: UTF-8 Substring Validation Bug Report ## Core Problem The reporter encountered a situation where `substring(text, int, int)` (the SQL standard positional substring function) ra...

Fix race during concurrent logical decoding activation

# Fix Race During Concurrent Logical Decoding Activation ## Background: Dynamic Logical Decoding Toggle This thread addresses a race condition in a newer PostgreSQL feature that allows logical deco...

Reject HEADER with binary and json COPY formats by option presence

# Technical Analysis: Reject HEADER with binary and json COPY formats by option presence ## Core Problem The thread identifies an inconsistency between PostgreSQL's documentation and implementation...

PostgreSQL and OpenSSL 4.0.0

# PostgreSQL and OpenSSL 4.0.0 — May 2026 Summary ## Overview OpenSSL 4.0.0 (GA April 2026) introduced return-value constification on APIs used by PostgreSQL's TLS layer (`libpq`, `contrib/sslinfo`)...

[PATCH] Fix ProcKill lock-group vs procLatch recycle race

# Monthly Summary: Fix ProcKill lock-group vs procLatch recycle race (May 2026) ## Overview This thread addresses a genuine concurrency bug in `ProcKill()` that has existed since PostgreSQL 9.6 (whe...

035_standby_logical_decoding might fail due to FATAL message lost inside libpq

## Incremental Update: Reproducer Patch Fix and Confirmation This round contains only two messages dealing with reproducing the issue — no new technical insights into the root cause or proposed fixes...

Fix HAVING-to-WHERE pushdown with mismatched operator families

## Incremental Update: v2 Patch Unifies the Full Bug Class ### Key Development Richard (guofenglinux@gmail.com) has posted a **v2 patch** that significantly expands the scope of the fix from the ori...

Fix bug of CHECK constraint enforceability recursion

## Incremental Update: Fix Bug of CHECK Constraint Enforceability Recursion ### Summary of New Developments The thread has progressed from Jian He's simple v1 patch (reject all enforceability chang...

Fix safe_wal_size for slots without restart_lsn

# Fix safe_wal_size for Slots Without restart_lsn ## Core Problem The `pg_replication_slots` system view exposes a `safe_wal_size` column that indicates how much WAL can be written before a replica...

postgres_fdw: Use COPY to speed up batch inserts

## Incremental Update: v13 Patchset — Switch Back to TEXT Format with Refactored Escaping ### Key Change: CSV → TEXT format reversal, with code deduplication Matheus posted a new patchset (v13) that...

[PATCH] Reject ENCODING option for COPY TO FORMAT JSON

## Update: Patch Committed Andrew Dunstan pushed the patch on 2026-05-30. No further technical discussion accompanied the commit — just a brief confirmation message ("pushed."). This closes the open ...

autovacuum launcher crash: assert in pgstat_count_io_op (IOOP_EXTEND on pg_database's VM)

# Autovacuum Launcher Crash: Assert in pgstat_count_io_op (IOOP_EXTEND on pg_database's VM) ## Technical Problem This thread reports a crash in the autovacuum launcher triggered by an assertion fail...

First draft of PG 19 release notes

# Analysis: First Draft of PG 19 Release Notes — Role/Function Miscategorization Fix ## Core Problem The PostgreSQL 19 release notes contained an inaccuracy in describing a security/privilege enhan...

Unify parallel worker handling for index builds and instrumentation

# Unify Parallel Worker Handling for Index Builds and Instrumentation ## Core Problem PostgreSQL's parallel index build infrastructure has accumulated significant code duplication across different ...

Use pg_current_xact_id() instead of deprecated txid_current()

# Monthly Summary: Replace `txid_current()` with `pg_current_xact_id()` — May 2026 ## Overview This thread addresses replacing deprecated `txid_current()` calls in PostgreSQL's own test suite with t...

Make memory checking / sanitizing infrastructure better

# Make Memory Checking / Sanitizing Infrastructure Better ## Core Problem PostgreSQL's internal memory management system (aset.c, slab.c, generation.c) includes debug-mode instrumentation to detect...

Support EXCEPT for ALL SEQUENCES publications

# Monthly Summary: Support EXCEPT for ALL SEQUENCES / TABLES IN SCHEMA Publications — May 2026 ## Overview This thread tracks two parallel extensions to PostgreSQL's logical replication publication ...

refresh materialized view: concurrently + with no data

# Technical Analysis: REFRESH MATERIALIZED VIEW CONCURRENTLY + WITH NO DATA Error Checking Location ## Core Problem The thread raises a question about PostgreSQL's internal architecture regarding **...

Row pattern recognition

## New in this round: Ishii flags non-ASCII character corruption in v47-0002 patch comments A single brief message from Ishii (2026-06-01) noting a cosmetic/encoding issue: the v47-0002 patch contain...

Add pg_stat_kind_info system view

## Incremental Update: Tristan Partin's Response to Paquier's Review Tristan Partin responds to Michael Paquier's review, agreeing with some suggestions while pushing back on others. ### Key Decisio...

ci: Skip minfree file in the cores_backtrace.sh

# CI: Skip minfree file in cores_backtrace.sh ## The Core Problem PostgreSQL's CI infrastructure uses a script (`src/tools/ci/cores_backtrace.sh`) that iterates over files in a core dump directory ...

Make stack depth check work with asan's use-after-return

# Technical Analysis: Make Stack Depth Check Work with ASAN's use-after-return ## Core Problem PostgreSQL implements a stack depth check (`check_stack_depth()`) to prevent unbounded recursion from c...

pg_stash_advice: dump file with overlong stash name crashes worker in a restart loop

## Incremental Update: Commit and Follow-up Discussion ### Resolution: Patch Committed (Simplified) Robert Haas committed a simplified version of the fix. The key decisions in the simplification: 1...

glob support in extension_control_path/dynamic_library_path?

# Glob Support in `extension_control_path` / `dynamic_library_path` ## Core Problem PostgreSQL 18 introduced the `extension_control_path` GUC (along with changes to `dynamic_library_path`) to allow ...

[PATCH] Improving index selection for logical replication apply with replica identity full

## Incremental Update: Patch v2 Addressing Non-Unique Index Handling ### Summary of New Activity Two new messages advance the discussion with a concrete patch revision. Masahiko Sawada (a committer ...

pg_createsubscriber: Fix incorrect handling of cleanup flags

# pg_createsubscriber: Fix incorrect handling of cleanup flags — May 2026 Summary ## Overview A bug in `pg_createsubscriber`'s cleanup flag handling was identified, reviewed, and committed (with bac...

Adding REPACK [concurrently]

# REPACK [CONCURRENTLY] — May 2026 Monthly Summary ## Overview May 2026 was dominated by the **decision to revert db-specific snapshots** from PG19, while the core REPACK CONCURRENTLY feature remain...

Avoid leaking system path from pg_available_extensions

# Monthly Summary: Avoid Leaking System Path from pg_available_extensions (May 2026) ## Overview This thread addresses an information disclosure bug in the `pg_available_extensions` view's `location...

pg_recvlogical: send final feedback on SIGINT/SIGTERM exit

# pg_recvlogical: Send Final Feedback on SIGINT/SIGTERM Exit ## Core Problem `pg_recvlogical` is PostgreSQL's command-line tool for consuming logical replication streams. It connects to a logical r...

[PATCH] Remove obsolete LISTEN array growth isolation test

## Commit Confirmation Tom Lane has committed the patch by folding it into commit `0f24332ae`. No further technical discussion occurred — this was a brief acknowledgment that the cleanup was incorpor...

Exit walsender before confirming remote flush in logical replication

## New Buildfarm Failure: Test Race Condition in 038_walsnd_shutdown_timeout Alexander Korotkov reports a new buildfarm failure on `tamandua` (FreeBSD) in the test `038_walsnd_shutdown_timeout.pl`, d...

=?gb18030?B?Q29weS1wYXN0ZSBlcnJvciBpbiBoYXNoX3JlY29y?= =?gb18030?B?ZF9leHRlbmRlZCgpIKGqIGFyZ3NbMV0uaXNudWxs?= =?gb18030?B?IG5vdCBzZXQ=?=

# Copy-Paste Error in `hash_record_extended()` — `args[1].isnull` Not Set ## Core Problem A straightforward but potentially consequential copy-paste bug exists in `src/backend/utils/adt/rowtypes.c`...

on_error table, saving error info to a table

# Monthly Summary: `ON_ERROR TABLE` — Saving COPY FROM Errors to a Table (May 2026) ## Overview May 2026 saw the most active development period for this long-running patch (originally proposed Feb 2...

[RFC PATCH v0 0/7] Add EXPLAIN ANALYZE wait event reporting

# Monthly Summary: EXPLAIN ANALYZE Wait Event Reporting (May 2026) ## Overview This RFC proposes adding a new `EXPLAIN (ANALYZE, WAITS)` option that transforms PostgreSQL's wait event subsystem from...

Fix race in ReplicationSlotRelease for ephemeral slots

# Fix Race in ReplicationSlotRelease for Ephemeral Slots ## Core Problem The bug exists in `ReplicationSlotRelease()`, a function responsible for releasing a backend's hold on a replication slot. T...

[PATCH] Remove obsolete tupDesc assignment in extended statistics

# Technical Analysis: Remove Obsolete tupDesc Assignment in Extended Statistics ## Core Problem This patch addresses a code hygiene issue in PostgreSQL's extended statistics subsystem, specifically...

[PATCH] Rebuild CHECK constraints after generated column SET EXPRESSION

# Monthly Summary: Rebuild CHECK Constraints After Generated Column SET EXPRESSION (May 2026) ## Overview This thread addressed a data integrity bug where `ALTER TABLE ... ALTER COLUMN ... SET EXPRE...

[PATCH] Don't call ereport(ERROR) from recovery target GUC assign hooks

# Monthly Summary: Moving recovery target conflict detection out of GUC assign hooks (May 2026) ## Problem Statement PostgreSQL's five `recovery_target_*` GUCs (`recovery_target`, `recovery_target_l...

FOR PORTION OF does not recompute GENERATED STORED columns that depend on the range column

# Monthly Summary: FOR PORTION OF and GENERATED STORED Columns (May 2026) ## Overview This thread underwent a dramatic arc in May 2026: a 12-version patch series addressing stale GENERATED STORED co...

PSA: Planning to grease protocol connections during 19beta

# Protocol Greasing During PostgreSQL 19 Beta — May 2026 Summary ## Overview Jacob Champion announced plans to exercise PostgreSQL's wire-protocol negotiation machinery during the 19 beta cycle usin...

[PATCH] Fix typos in pqsignal.c comment

# Technical Analysis: Fix typos in pqsignal.c comment ## Overview This is a minimal, comment-only patch that corrects two typographical errors in `src/port/pqsignal.c`. The patch has no functional ...

PGConf.dev CSN unconference session: notes and follow-up discussion takeaways

# PGConf.dev 2026 CSN Unconference Session: Technical Analysis ## The Core Problem: Commit Sequence Numbers and the Visibility/Durability Tension This thread captures the state-of-the-art thinking ...

Can we use Statistics Import and Export feature to perforamance testing?

# Technical Analysis: Statistics Import/Export for Performance Testing ## Core Problem The thread addresses a fundamental question about the PostgreSQL statistics import/export feature (introduced ...

create table like including storage parameter

# CREATE TABLE LIKE: INCLUDING PARAMETERS and INCLUDING TRIGGERS — May 2026 Summary ## Overview This thread advances two patches extending `CREATE TABLE ... (LIKE source INCLUDING ...)` to cover two...

Seeking Guidance on Fixing the Cyclic RLS Policy / Infinite Recursion Bug in PostgreSQL

# Technical Analysis: Cyclic RLS Policy / Infinite Recursion Bug in PostgreSQL ## The Core Problem Row-Level Security (RLS) policies in PostgreSQL are implemented through the query rewriter. When a...

[PATCH] Release replication slot on error in SQL-callable slot functions

# Monthly Summary: Release Replication Slot on Error in SQL-Callable Slot Functions (May 2026) ## Problem Statement PostgreSQL's SQL-callable replication slot functions (`pg_replication_slot_advance...

Key joins

# Key Joins: A New SQL Language Feature for PostgreSQL ## Core Problem The fundamental problem addressed by this proposal is that SQL's JOIN syntax is semantically overloaded — a JOIN can serve thr...

DBeaver Experiencing timeouts while connecting to New Linux PostgreSql server

# Analysis: DBeaver Connection Timeouts to PostgreSQL 18 on Linux ## Summary This thread is a **support request** mistakenly posted to pgsql-hackers (the development mailing list), not a development...

postgres_fdw, dblink: Validate use_scram_passthrough values

# Technical Analysis: postgres_fdw, dblink — Validate use_scram_passthrough Values ## Core Problem The `use_scram_passthrough` option, introduced as part of SCRAM authentication passthrough support...

Bound memory usage during manual slot sync retries

# Bound Memory Usage During Manual Slot Sync Retries — May 2026 Summary ## Problem & Resolution The `pg_sync_replication_slots()` SQL function had an unbounded memory growth problem during its inter...

[Patch] Add WHERE clause support to REFRESH MATERIALIZED VIEW

# Monthly Summary: Add WHERE Clause Support to REFRESH MATERIALIZED VIEW — May 2026 ## Overview This month saw significant technical maturation of the patch to add `REFRESH MATERIALIZED VIEW mv WHER...

[PATCH] Fix LISTEN startup race with direct advancement

# Monthly Summary: [PATCH] Fix LISTEN Startup Race with Direct Advancement — May 2026 ## Overview This thread identifies and fixes a correctness bug in PostgreSQL's asynchronous notification system ...

effective_wal_level is not decreasing after using REPACK (CONCURRENTLY)

# Monthly Summary: effective_wal_level Not Decreasing After REPACK (CONCURRENTLY) — May 2026 ## Problem Statement A bug was identified in the interaction between PostgreSQL's dynamic WAL level toggl...

Avoid calling SetMatViewPopulatedState if possible

# Monthly Summary: Avoid calling SetMatViewPopulatedState if possible (May 2026) ## Overview A focused optimization patch to eliminate unnecessary `pg_class` catalog updates during `REFRESH MATERIAL...

Improve pg_stat_statements scalability

# Monthly Summary: Improve pg_stat_statements Scalability — May 2026 ## Overview May 2026 saw the pg_stat_statements scalability patch evolve from initial proposal through architectural refinement, ...

uuidv7 improperly accepts dates before 1970-01-01

# Technical Analysis: uuidv7() Interval Shift Boundary Validation ## Core Problem The `uuidv7(interval)` function in PostgreSQL accepts arbitrary interval offsets to shift the timestamp embedded in ...

[PATCH] Fix segmentation fault caused by reentrancy in RI_Fkey_cascade_del (ri_triggers.c)

# Technical Analysis: Segmentation Fault from Reentrancy in RI_FKey_cascade_del ## Core Problem This thread identifies a **use-after-free vulnerability** in PostgreSQL's referential integrity (RI) ...

Heads Up: cirrus-ci is shutting down June 1st

# Monthly Summary: Cirrus CI Shutdown and PostgreSQL CI Infrastructure Migration (May 2026) ## Overview With Cirrus CI's June 1, 2026 shutdown deadline looming, the PostgreSQL community moved from d...

Include schema-qualified names in publication error messages.

# Monthly Summary: Schema-Qualified Names in Publication Error Messages (May 2026) ## Overview This thread reached completion in May 2026, progressing from API design refinement through final commit...

[PATCH] Prevent repeated deadlock-check signals in standby buffer pin waits

# Monthly Summary: Prevent Repeated Deadlock-Check Signals in Standby Buffer Pin Waits (May 2026) ## Overview This thread addresses unnecessary repeated signaling in PostgreSQL's hot standby recover...

log_postmaster_stats

# Technical Analysis: `log_postmaster_stats` — Periodic Postmaster Activity Reporting ## Core Problem The PostgreSQL postmaster process — the central coordinator responsible for forking new backend ...

Avoid orphaned objects dependencies, take 3

# Monthly Summary: Avoid Orphaned Object Dependencies, Take 3 — May 2026 ## Overview This month saw significant progress toward landing the patch that prevents orphaned object dependencies in Postgr...

code contributions for 2024, WIP version

# Analysis: Code Contributions Metrics for PostgreSQL — Methodology, Automation, and Identity Resolution ## Core Problem This thread spans two years (2024-2025) of Robert Haas's annual effort to qu...

Parallel INSERT SELECT take 2

# Parallel INSERT SELECT take 2 — May 2026 Monthly Summary ## Overview After five years of dormancy, this thread was revived by Tomas Vondra with a fundamental reassessment of the approach taken by ...

CREATE INDEX CONCURRENTLY on partitioned index

# CREATE INDEX CONCURRENTLY on Partitioned Tables: Deep Technical Analysis ## The Core Problem PostgreSQL's `CREATE INDEX CONCURRENTLY` (CIC) has never supported partitioned tables. When a user issu...

Dump statistic issue with index on expressions

# Dump Statistic Issue with Index on Expressions — May 2026 Summary ## Overview A reported bug in `pg_dump --statistics-only` (new in PostgreSQL 18) involving cross-index attribute name leakage was ...

generic plans and "initial" pruning

# Deep Technical Analysis: Generic Plans and "Initial" Pruning ## The Core Problem When PostgreSQL executes prepared statements against partitioned tables using **generic plans**, performance degra...

[PATCH] Add pg_get_trigger_ddl() to retrieve the CREATE TRIGGER statement

# Monthly Summary: `pg_get_trigger_ddl()` and `pg_get_policy_ddl()` — May 2026 ## Overview This thread encompasses two intertwined sub-patches under Andrew Dunstan's **Retail DDL Functions** project...

[PATCH] Add NESTED_STATEMENTS option to EXPLAIN

# Monthly Summary: Add NESTED_STATEMENTS Option to EXPLAIN (May 2026) ## Overview This thread saw rapid iteration from v1 through v4 of a patch adding `NESTED_STATEMENTS` as a new EXPLAIN option, tr...

[PATCH] Add contrib/anyarray: intarray-style operations and indexes for any array type

# Monthly Summary: contrib/anyarray — Generalizing intarray to Any Array Type (May 2026) ## Overview A new contrib module `anyarray` was proposed to generalize `contrib/intarray`'s set-style operati...

[PATCH] Fix overflow and underflow in regr_r2()

# Monthly Summary: Fix Overflow and Underflow in regr_r2() (and regr_intercept()) ## Overview This thread addresses numerical instability in PostgreSQL's `regr_r2()` and `regr_intercept()` aggregate...

Do not scan index in right table if condition for left join evaluates to false using columns in left table

# Deep Technical Analysis: Optimizing Nested Loop Left Joins by Short-Circuiting Inner Scans ## The Core Problem When PostgreSQL executes a Nested Loop Left Join where the join condition (ON clause...

alert clients when prepared statements are deallocated

# Alert Clients When Prepared Statements Are Deallocated ## Core Problem When a PostgreSQL client creates prepared statements (at the protocol level), those statements can be invalidated by SQL comm...

Adding a stored generated column without long-lived locks

# Adding a Stored Generated Column Without Long-Lived Locks — May 2026 Summary ## Overview This thread proposes a two-patch approach to allow adding stored generated columns to existing PostgreSQL t...

Add XMLNamespaces to XMLElement

# Add XMLNamespaces to XMLElement - Technical Analysis ## Core Problem PostgreSQL's `xmlelement()` function, which constructs XML elements per the SQL/XML standard, lacks support for the `XMLNAMESP...

Non-superuser subscription owners

# Non-superuser Subscription Owners: Deep Technical Analysis ## Core Problem PostgreSQL's logical replication system was designed with the assumption that subscriptions would always be owned and ope...

Add wait events for server logging destination writes

# Add Wait Events for Server Logging Destination Writes ## Core Problem PostgreSQL's observability infrastructure has a blind spot in the logging subsystem. When a backend calls `write(2)` to emit ...

Fix regression in vacuumdb --analyze-in-stages for partitioned tables

# Fix Regression in vacuumdb --analyze-in-stages for Partitioned Tables ## Core Problem A refactoring commit (`c4067383cb2`) introduced a subtle regression in `vacuumdb`'s handling of partitioned t...

PostgreSQL 19 Beta 1 release announcement draft

# PostgreSQL 19 Beta 1 Release Announcement Draft Review ## Overview This thread concerns the community review of the PostgreSQL 19 Beta 1 release announcement draft, a standard part of the PostgreS...

Set notice receiver before libpq connection startup

# Set Notice Receiver Before libpq Connection Startup — May 2026 Summary ## Problem PostgreSQL's `libpqsrv` infrastructure (used by dblink, postgres_fdw, and other extensions for outbound libpq conn...

new connection establishment (pgbench --connect) slow with pgbouncer due to libpq/OpenSSL global thread contention

# Performance Degradation in libpq/pgbench Due to OpenSSL 3.x Global Lock Contention ## Core Problem When using `pgbench --connect` (which tests new connection establishment rate) against pgbouncer...

Add RISC-V Zbb popcount optimization

# Technical Analysis: RISC-V Zbb Popcount Optimization and Clang Auto-Vectorization Bug ## Core Problem This thread encompasses two distinct but related problems for PostgreSQL on RISC-V: 1. **Perf...

A few message wording/formatting cleanup patches

# Technical Analysis: Message Wording/Formatting Cleanup Patches ## Core Problem This thread addresses a collection of internationalization (i18n), style consistency, and naming issues discovered du...

Fix mismatched deallocation functions

# Monthly Summary: Fix Mismatched Deallocation Functions (May 2026) ## Overview Tristan Partin proposed a mechanical refactor to fix allocator/deallocator mismatches in PostgreSQL's frontend code, u...

Eager aggregation, take 3

# Eager Aggregation in PostgreSQL: Deep Technical Analysis ## Core Problem Eager aggregation is a query optimization technique that partially pushes a GROUP BY aggregation past a join operation, per...

[Patch] Fix check_pub_rdt bypass when origin is set in same ALTER SUBSCRIPTION

## Incremental Update: Committer Acknowledgment No substantive technical progress since the prior analysis. Amit Kapila (committer) responded with a brief acknowledgment: - Confirms the fix "LGTM" (...

Pgbench: remove synchronous prepare

## Incremental Update: Robert Haas Pushes Back on Need for New libpq Entrypoint Robert Haas returns after pgconf.dev and directly challenges the fundamental premise of the patch — that a new libpq fu...

injection_points: Switch wait/wakeup to use atomics rather than latches

# Injection Points: Switching Wait/Wakeup from Latches to Atomics ## Core Problem The injection_points testing infrastructure in PostgreSQL provides a mechanism for test code to synchronize backend...

COPY ON_CONFLICT TABLE; save duplicated record to another table.

# COPY ON_CONFLICT TABLE — May 2026 Monthly Summary ## Overview This thread proposes extending PostgreSQL's `COPY FROM` with the ability to redirect rows that violate unique/primary key constraints ...

Fix bug of UPDATE/DELETE FOR PORTION OF with inheritance tables

# Monthly Summary: Fix UPDATE/DELETE FOR PORTION OF with Inheritance Tables (May 2026) ## Overview This thread addresses a correctness bug in PostgreSQL's temporal DML (`FOR PORTION OF`) when applie...

[PATCH] Preserve replication origin OIDs in pg_upgrade

# Monthly Summary: Preserve Replication Origin OIDs in pg_upgrade (May 2026) ## Problem Statement When `pg_commit_ts` SLRU data is migrated byte-for-byte during pg_upgrade, the embedded 2-byte `RepO...

=?utf-8?B?RUNQRzogaW5jb25zaXN0ZW50IGJlaGF2aW9yIHdpdGggdGhlIGRvY3VtZW50?= =?utf-8?B?IGluIOKAnEdFVC9TRVQgREVTQ1JJUFRPUi7igJ0=?=

# ECPG: Inconsistent Behavior with GET/SET DESCRIPTOR Multiple Header Items ## Core Problem The ECPG (Embedded SQL in C for PostgreSQL) precompiler has a bug where its **parser accepts syntax that ...

index prefetching

# Index Prefetching for PostgreSQL: Deep Technical Analysis ## The Core Problem PostgreSQL's index scan execution model has a fundamental I/O inefficiency: when performing a regular index scan (btr...

[PATCH v1] Fix doubled-word typos and punctuation in code comments

# Technical Analysis: Fix Doubled-Word Typos and Punctuation in Code Comments ## Problem Statement This is a straightforward code quality patch that addresses three instances of doubled-word typos ...

Beautify read stream "per buffer data" APIs

# Beautify Read Stream "Per Buffer Data" APIs ## Core Problem PostgreSQL's read stream infrastructure (introduced to support prefetching and efficient sequential/random I/O patterns) exposes a "per...

should we have a fast-path planning for OLTP starjoins?

# Deep Technical Analysis: Fast-Path Planning for OLTP Star Joins ## The Core Problem PostgreSQL's join order optimization uses dynamic programming (DP) to explore all possible join orderings, buil...

Uninitialized memory access in zic

# Uninitialized Memory Access in zic ## Core Problem PostgreSQL's `zic` (timezone compiler) utility, which is used during the build process to compile timezone data files into binary format, contai...

hashjoins vs. Bloom filters (yet again)

# Bloom Filter Pushdown for Hash Joins: Deep Technical Analysis ## Core Problem Hash joins in PostgreSQL process outer tuples by probing the hash table for each one. When a join is highly selective...

[oauth] Bug: when is shutdown_cb called?

# Technical Analysis: OAuth `shutdown_cb` Documentation Bug ## Core Problem The OAuth validator module API in PostgreSQL 18 includes a `shutdown_cb` callback that implementations can register. Howe...

logical: fix recomputation required LSN on restart_lsn-only advancement

# Technical Analysis: Fix Recomputation of Required LSN on restart_lsn-only Advancement ## Core Problem The issue resides in `LogicalConfirmReceivedLocation()`, a function in PostgreSQL's logical r...

dependencyLockAndCheckObject(): dependent vs referenced

## Technical Analysis: dependencyLockAndCheckObject() Terminology Fix ### The Core Problem PostgreSQL's dependency tracking system distinguishes between two roles in a dependency relationship: - **...

Startup process deadlock: WaitForProcSignalBarriers vs aux process

# Monthly Summary: Startup Process Deadlock — WaitForProcSignalBarriers vs Aux Process (May 2026) ## Overview This thread resolved a long-latent race condition in PostgreSQL's ProcSignalBarrier (PSB...

[RFC] Secondary hash to split stuck hash-join batches

# Technical Analysis: Secondary Hash to Split Stuck Hash-Join Batches ## The Core Problem: Hash Join Batch Splitting Degeneracy PostgreSQL's hash join executor partitions the inner relation into bat...

[PATCH] Improve REPACK (CONCURRENTLY) error messages for unsupported configurations

# Technical Analysis: Improving REPACK (CONCURRENTLY) Error Messages ## Core Problem The `REPACK (CONCURRENTLY)` feature — a relatively new addition to PostgreSQL that allows online table repacking...

Make transformAExprIn() return a flattened bool expression directly

# Make transformAExprIn() Return a Flattened Bool Expression Directly ## Core Problem In PostgreSQL's query transformation pipeline, the function `transformAExprIn()` (located in `src/backend/parse...

Update our timezone code to IANA tzcode2026b

# Technical Analysis: Update our timezone code to IANA tzcode2026b ## Core Problem PostgreSQL maintains a vendored copy of the IANA timezone library (tzcode) within its source tree, used to handle t...

Patch for migration of the pg_commit_ts directory

## Incremental Update: No Substantive Technical Progress The single new message from Hayato Kuroda is a brief clarification/follow-up to a prior exchange with Sergey. Kuroda reiterates his concern ab...

Proposal: Conflict log history table for Logical Replication

# Monthly Summary: Conflict Log History Table for Logical Replication — May 2026 ## Overview May 2026 saw this proposal mature from a design-settled but implementation-rough state into extensive lat...