2026-05-20

Sequence Access Methods, round two

## Incremental Update: Independent Benchmark Validation by Lepihov ### Summary Lepihov (Andrei Lepikhov) followed up on his earlier suggestion about avoiding unnecessary cache lookups with independe...

Adding REPACK [concurrently]

## Alvaro Concedes: db-specific Snapshots Will Be Reverted for PG19 A single new message from Alvaro (2026-05-19) formally accepts the revert path. This is the decision point the thread has been buil...

relfilenode statistics

# Relfilenode Statistics: Deep Technical Analysis ## The Core Problem PostgreSQL's statistics subsystem (`pgstats`) currently keys relation-level statistics by the relation's OID. This creates a fu...

[PATCH] ternary reloption type

# Technical Analysis: Ternary Reloption Type Patch Review ## Core Problem PostgreSQL's relation options (reloptions) system historically supported boolean, integer, real, enum, and string types. Se...

Review observations for COPY ON_ERROR_TABLE patch

# Technical Analysis: Review Observations for COPY ON_ERROR_TABLE Patch ## Core Problem The COPY ON_ERROR_TABLE feature extends PostgreSQL's existing `COPY ... ON_ERROR` mechanism (introduced in Po...

Implement waiting for wal lsn replay: reloaded

## New Bug: `wait_for_catchup()` with WAIT FOR LSN Causes Race in Replication Slot State Tests Alexander Korotkov reports a **new class of test failure** caused by the WAIT FOR LSN-based `wait_for_ca...

Fix pg_stat_wal_receiver to show CONNECTING status

# Fix pg_stat_wal_receiver to Show CONNECTING Status ## Core Problem Commit `a36164e74` introduced a `WALRCV_CONNECTING` state to the WAL receiver subsystem, explicitly motivated by monitoring use ...

Support LIKE with nondeterministic collations

# Support LIKE with Nondeterministic Collations ## Core Problem PostgreSQL's nondeterministic collations (introduced by Peter Eisentraut) enable case-insensitive, accent-insensitive, and other Unic...

duckdb has extensible parser

## Incremental Update: New Participant Shares Concrete Implementation Work ### What's New Greg Burd has responded to Pavel Stehule's original post with a concrete (though incomplete) implementation ...

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

# Technical Analysis: Cirrus CI Shutdown and PostgreSQL CI Infrastructure Migration ## The Core Problem Cirrus CI, the continuous integration platform that PostgreSQL's community development infrast...

Support EXCEPT for ALL SEQUENCES publications

## Round Update: Nisha's v6 Patch Set — Responses to Peter Smith's Review Nisha posted the v6 patch set addressing Peter Smith's 28-point review. The response contains several technically interesting...

Function scan FDW pushdown

## New in this round: Korotkov posts v5 addressing all five Pyhalov bugs, then two rapid follow-up fixups for whole-row Var edge cases in DirectModify/outer-join paths This round shows the patch ente...

Fix typo 586/686 in atomics/arch-x86.h

## Patch Committed Daniel Gustafsson's single-word "Done." confirms the 32-bit atomics removal patch has been committed to HEAD. No new technical discussion, no new arguments, no new participants. Th...

[oauth] Fix minimal typo in OAuth

# Technical Analysis: Fix Minimal Typo in OAuth ## Core Problem This is a trivial cosmetic fix addressing a minor typo in PostgreSQL's OAuth authentication code — specifically a forgotten/missing q...

Avoid orphaned objects dependencies, take 3

## Incremental Update: v21 Patch and Response to Robert's Concerns ### What's New Bertrand Drouvot posted v21 of the patch series, responding to Robert Haas's two open concerns from the previous rou...

2026-05-18

Move FOR PORTION OF checks out of analysis

# Move FOR PORTION OF Checks Out of Analysis ## Core Problem The `FOR PORTION OF` feature (a temporal/period-based SQL construct being added in PostgreSQL 19) has validation checks that are current...

[PATCH] vacuumdb: Add --exclude-database option

# Technical Analysis: vacuumdb --exclude-database Option ## Core Problem The `vacuumdb --all` command in PostgreSQL's client utilities vacuums every connectable database on a cluster without except...

Vacuumlo improvements

## Incremental Update: Scope Expansion to Composite Types and Arrays ### New Technical Direction: Beyond Domains Sami Imseih proposes extending `vacuumlo`'s column scanning beyond just domain resol...

Fix small issues of pg_restore_extended_stats()

# Fix Small Issues of pg_restore_extended_stats() ## Technical Context `pg_restore_extended_stats()` is part of PostgreSQL's statistics import/export infrastructure, which allows `pg_dump`/`pg_rest...

FOR PORTION OF should reject GENERATED columns

## Incremental Update: v2 Patch Posted Paul Jungwirth posted a v2 of his own patch for this issue. The key technical development: ### Patch Evolution: v1 → v2 - **v1** (referenced but not in this m...

Review comments on createPartitions() in pgbench.c

# Technical Analysis: Review Comments on createPartitions() in pgbench.c ## Core Problem This thread raises code robustness concerns in the `createPartitions()` function within `pgbench.c` — Postgr...

Add pg_get_publication_ddl function

# Technical Analysis: pg_get_publication_ddl Function ## Core Problem PostgreSQL lacks a built-in function to reconstruct the DDL (Data Definition Language) statement for PUBLICATION objects. This ...

[PATCH] Fix null pointer dereference in PG19

# Technical Analysis: Null Pointer Dereference in FOR PORTION OF with Views and INSTEAD OF Triggers ## Core Problem A null pointer dereference crash occurs in PostgreSQL 19 when combining three fea...

[PATCH] Make spelling consistent in waiteventset.c

## Incremental Update: Committer Attribution Concern The only new message is from **Bruce Momjian**, who attempted to commit the patch but hit a procedural/policy obstacle rather than a technical one...

Checkpoint replication slots later

## Incremental Analysis: New Response from Huseyin ### Summary A new participant (Huseyin) responds with approval of the patch but raises a tangential but technically interesting observability conce...

Redundant/mis-use of _(x) gettext macro?

# Technical Analysis: Redundant/Mis-use of _(x) gettext Macro ## Core Problem This thread begins with what appears to be a simple cleanup — removing seemingly unnecessary `_()` gettext macro wrappi...

call for applications: hacker mentoring 2026

# Analysis: PostgreSQL Hacker Mentoring Program 2026 — Call for Applications ## Overview This thread documents the third year of Robert Haas's 1:1 hacker mentoring program, which pairs aspiring Post...

on_error table, saving error info to a table

## Round Update: First serious code review exposes multiple bugs in v11 ### New Participant: Zsolt Parragi (Percona) Zsolt Parragi provides the **first in-depth code review** of the v10/v11 patch se...

Set calcSumX2 = true in numeric_(poly_)deserialize

# Technical Analysis: Set calcSumX2 = true in numeric_(poly_)deserialize ## Core Problem This thread addresses a subtle but semantically important bug in PostgreSQL's aggregate deserialization func...

Support EXCEPT for ALL SEQUENCES publications

## Round Update: Peter Smith's Detailed Review of Nisha's v5-0001 (TABLES IN SCHEMA EXCEPT) Peter Smith provided a comprehensive 28-point review of Nisha Moond's v5-0001 patch for `FOR TABLES IN SCHE...

[PATCH] Add NESTED_STATEMENTS option to EXPLAIN

# Technical Analysis: Add NESTED_STATEMENTS Option to EXPLAIN ## Core Problem PostgreSQL's `EXPLAIN` command has a fundamental observability gap: it cannot show execution plans for SQL statements th...

SQL/JSON json_table plan clause

## Incremental Update: v23 Patch Set Submitted The author (hukutoc@gmail.com) has submitted v23, addressing most of Alexander Korotkov's 8 review points from the previous round. The key development i...

SQL Property Graph Queries (SQL/PGQ)

# SQL Property Graph Queries (SQL/PGQ) - Deep Technical Analysis ## Problem Statement This thread tracks the implementation of SQL Property Graph Queries (SQL/PGQ) as specified in SQL:2023 (ISO/IEC...

Parallel INSERT SELECT take 2

## New in this round: Tomas raises EPQ (EvalPlanQual) as a fundamental barrier to extending parallel DML beyond INSERT Tomas posts a detailed "brain dump" that introduces two new technical dimensions...

Fix bug of COPY TO support partition table

# Fix Bug of COPY TO Support Partition Table ## Core Problem The "Support COPY TO for partitioned tables" feature introduced a bug in the attribute mapping logic when converting partition tuples to...

Adding REPACK [concurrently]

## New Development: Amit Kapila's Final Technical Position Before Beta-1 Amit Kapila has posted a single substantive message that crystallizes his position and adds two new technical observations not...

Bound memory usage during manual slot sync retries

# Bound Memory Usage During Manual Slot Sync Retries ## Core Problem PostgreSQL's `pg_sync_replication_slots()` SQL function, introduced to allow manual synchronization of replication slots on stan...

Fix bug of COPY (on_error set_null)

# Fix Bug of COPY (on_error set_null) — Array Indexing Mismatch ## Core Problem This thread reports a **memory safety bug and correctness violation** in the recently added `COPY ... (on_error set_n...

(SQL/PGQ) cache lookup failed for label

## New Participant Takes Over Patch, Rapid Iteration to v3, Then Committer Revision ### Original Author Steps Back Zeng Man (original reporter/patch author) explicitly stated they are too busy with ...

Add a guard against uninitialized default locale

# Technical Analysis: Add a Guard Against Uninitialized Default Locale ## The Core Problem This thread addresses a **defensive programming concern** in PostgreSQL's locale/collation infrastructure:...

Add missing period to HINT messages

# Add Missing Period to HINT and DETAIL Messages ## Core Problem PostgreSQL has a documented error message style guide that mandates: "Detail and hint messages: Use complete sentences, and end each...

Simplify signature of ProcessStartupPacket()

# Simplify Signature of ProcessStartupPacket() ## Technical Problem This thread addresses a code cleanup opportunity in PostgreSQL's connection startup path. The function `ProcessStartupPacket()` —...

Lazy snapshot distribution in logical decoding

# Lazy Snapshot Distribution in Logical Decoding ## Core Problem: O(N²) Snapshot Growth in the Reorder Buffer This patch addresses a fundamental scalability problem in PostgreSQL's logical decoding...

[PATCH] Add pg_get_subscription_ddl() function

# Technical Analysis: pg_get_subscription_ddl() Function Patch ## Core Problem PostgreSQL lacks a built-in function to reconstruct the DDL (Data Definition Language) statement for logical replicati...

Order of tables dumped by pg_dump

# Technical Analysis: Determinism of pg_dump Table Output Ordering ## Core Problem A user observed that two semantically identical PostgreSQL schemas—one created from scratch via DDL scripts and on...

[PATCH] Fix overflow and underflow in regr_r2()

# Deep Technical Analysis: Fix Overflow and Underflow in regr_r2() (and regr_intercept()) ## The Core Problem PostgreSQL's statistical regression aggregate functions operate on `float8` (IEEE 754 d...

Improve pg_stat_statements scalability

## Incremental Update: Patch Reorganization and CI Fix ### What's New The author (Sami Imseih) posted a revised patchset with two significant changes: 1. **CI failure fix in serialization callback*...

Truncate logs by max_log_size

# Technical Analysis: Truncate Logged Statements by Maximum Length ## Core Problem PostgreSQL's logging infrastructure has no built-in mechanism to limit the size of individual logged statements. W...

Sequence Access Methods, round two

# Sequence Access Methods: A Deep Technical Analysis ## The Core Problem PostgreSQL's sequence infrastructure is monolithic: every sequence stores its state (last_value, is_called, log_cnt) in a si...

2026-05-14

[PATCH] Clean up property graph error messages

## New Activity: Ashutosh Bapat Weighs In — Argues *Against* the ReleaseSysCache Fix The only new message is from Ashutosh Bapat, who provides a surprising counter-argument to the one remaining techn...

Refactor code around GUC default_toast_compression

## Incremental Update: v3 Patch — GUC Encoding Reversal and Naming Changes ### Key Development: Paquier Abandons the Separate GUC Integer Encoding The most significant change in this round is Michae...

[PATCH] Make NumericVar storage semantics explicit

## Incremental Update: v2 Patch Posted (Bug Fix Only) The v2 posting is a minor bug-fix revision with no design changes. The substantive new information is minimal. ### What's New **UBSan-detected ...

Parallel INSERT SELECT take 2

## New in this round: Hou surfaces a concrete concurrency-safety gap in auto-maintenance, and Tomas dismisses it as a rare-case concern ### Hou's new technical argument: visibility gap during concurr...

2026-05-14 release announcement draft

## Incremental Update: Minor Editorial Feedback on Release Announcement Draft Two new messages have appeared since the initial solicitation. The thread remains **purely administrative** with no techn...

on_error table, saving error info to a table

## Round Update: v10 and v11 — Snapshot registration fix and trigger policy reversal ### v10: Snapshot registration for the error table's EState (jian he, May 11) jian he identified a correctness co...

Function scan FDW pushdown

## New in this round: Pyhalov stress-tests Korotkov's v4, finds five concrete bugs/regressions — reveals that the IMMUTABLE-only tightening came at the cost of dropping safety checks that were load-b...

(SQL/PGQ) cache lookup failed for label

## Incremental Update: Reviewer Feedback from Ashutosh Bapat Ashutosh Bapat (a committer/reviewer familiar with SQL/PGQ internals) has responded with concrete review feedback on the patch. No new pat...

First draft of PG 19 release notes

## New Developments in This Round This round contains a mix of editorial corrections and one substantively important meta-discussion about release-note inclusion criteria. ### Editorial Corrections ...

Missing jsonb_ ... functions on DOCs

## Incremental Update: Thread Response and Resolution Direction ### Summary The thread received responses from Michael Paquier and Tom Lane, both pushing back on documenting the operator-backing fun...

Row pattern recognition

## New in this round: B7 recursive-CTE rejection lands as patches, README.rpr enhancements, and a quick review cycle Three substantive developments since the last analysis: ### 1. Ishii posts a READ...

Parallel Apply

## Incremental Update: Shveta Malik's Detailed Code Review of Patch 003 This round consists of two messages from Shveta Malik providing a thorough code-level review of patch 003 (the core dependency...

FOR PORTION OF vs. object_aclcheck

## Incremental Update: Peter Eisentraut responds, discussion converges on comment-only fix ### Summary of New Exchange Peter Eisentraut responds to Haas's "Thoughts?" solicitation with a substantive...

Subquery pull-up increases jointree search space

## Patch Arrives: `insert_pulled_up_sublink_join` Implementation The key development since the last analysis is that Lepikhov has posted the **concrete patch** implementing the structural fix he des...

Adding REPACK [concurrently]

## New Developments: Reproduction of db-specific Snapshot Bug & Decision Point Reached The thread has advanced significantly since the last analysis. The core bug causing the db-specific snapshot fai...

Add ssl_(supported|shared)_groups to sslinfo

## Incremental Update: Rounds since prior analysis ### Summary Three new messages advance the thread on two fronts: (1) Dolgov pushes back on Cary Huang's suggestion to elide rows on `NID_undef`, ci...

SQL/JSON json_table plan clause

# SQL/JSON JSON_TABLE PLAN Clause — Technical Analysis ## Core Problem The SQL/JSON standard defines a `PLAN` clause for `JSON_TABLE()` that controls how multiple NESTED paths are joined together wh...

Improve pg_stat_statements scalability

# Deep Technical Analysis: Improve pg_stat_statements Scalability ## The Core Problem pg_stat_statements is PostgreSQL's most widely deployed extension for query performance monitoring, yet it suff...

Patch for migration of the pg_commit_ts directory

# Technical Analysis: Migration of pg_commit_ts Directory During pg_upgrade ## Core Problem PostgreSQL's `pg_upgrade` utility does not migrate the `pg_commit_ts` directory when upgrading a cluster....

Proposal: Adding compression of temporary files

# Proposal: Adding Compression of Temporary Files in PostgreSQL ## The Core Problem PostgreSQL's query executor spills intermediate results to temporary files when `work_mem` is exhausted. This hap...

Add psql tab completion support for FOR PORTION OF

# Technical Analysis: Add psql Tab Completion Support for FOR PORTION OF ## Core Problem PostgreSQL's temporal tables feature introduces the `FOR PORTION OF` clause, which is used in `UPDATE` and `...

Feature: Use DNS SRV records for connecting

# Feature: DNS SRV Record Discovery for libpq ## The Core Problem PostgreSQL's client library (libpq) currently requires clients to know the exact hostnames and ports of database servers at connect...

Add \pset options for boolean value display

# Add \pset Options for Boolean Value Display ## Core Problem PostgreSQL's `psql` client displays boolean values as the single characters `t` and `f`, which are the wire-format representations from...

xact_rollback spikes when logical walsender exits

# Technical Analysis: xact_rollback Spikes from Logical Walsender Exit ## Core Problem PostgreSQL's logical replication decoding pipeline has a subtle interaction with the database statistics subsy...

PostgreSQL 19 Beta 1 release date

# PostgreSQL 19 Beta 1 Release Date Announcement ## Overview This is a release-management coordination message from Jonathan Katz announcing the planned release date for PostgreSQL 19 Beta 1. While...

Plug-in coverage hole for pglz_decompress()

# Plug-in Coverage Hole for pglz_decompress() ## Core Problem This thread addresses a **test coverage gap** in PostgreSQL's built-in LZ compression/decompression implementation (`pg_lzcompress.c`),...

Fix jsonpath .split_part() to honor silent mode

# Fix jsonpath .split_part() to Honor Silent Mode ## Core Problem PostgreSQL's jsonpath execution engine has a well-established contract: when `silent => true` is passed to jsonpath query functions...

duckdb has extensible parser

# Analysis: DuckDB's Extensible Parser as Inspiration for PostgreSQL ## Core Problem PostgreSQL's SQL parser is monolithic and tightly coupled to the server's grammar definition (`gram.y`). This ma...

FOR PORTION OF should reject GENERATED columns

# FOR PORTION OF Should Reject GENERATED Columns ## Technical Problem This thread addresses a validation gap in PostgreSQL's `FOR PORTION OF` functionality — a feature related to temporal/period-aw...

egrep is obsolescent

# Technical Analysis: Replacing Obsolescent `egrep` with `grep -E` in PostgreSQL Build Tools ## Core Problem Modern GNU grep implementations have begun emitting warnings when the `egrep` command is...

Avoid orphaned objects dependencies, take 3

# Avoid Orphaned Object Dependencies in PostgreSQL: Deep Technical Analysis ## The Core Problem PostgreSQL's dependency tracking system (`pg_depend`) can develop orphaned entries when concurrent DD...

Add pg_stat_kind_info system view

# Technical Analysis: Add pg_stat_kind_info System View ## Core Problem PostgreSQL 17 introduced pluggable cumulative statistics via commit 7949d959458, allowing extensions to register custom stati...

Vacuumlo improvements

# Vacuumlo Silent Data Loss with Domain-over-OID Columns ## Core Problem The `vacuumlo` utility — PostgreSQL's tool for removing orphaned large objects — has a fundamental blind spot in its column-...

pgbench: make verbose error messages thread-safe

# pgbench: Thread-Safety Bug in Verbose Error Messages ## Core Problem A thread-safety bug was discovered in pgbench's `printVerboseErrorMessages()` function. The function uses a **function-local `...

2026-05-11

Row pattern recognition

## New in this round: v2 of the follow-up series (+0011) and Ishii's first substantive reply on B7 Two developments since the previous analysis: ### 1. Henson's v2 repost adds patch 0011 — standard-...

COPY FROM with RLS

# COPY FROM with Row-Level Security: Bridging the Bulk-Load / Policy Enforcement Gap ## Background and Architectural Problem PostgreSQL's Row-Level Security (RLS) machinery is tightly coupled to the...

Subquery pull-up increases jointree search space

# Subquery Pull-Up vs. Join Collapse Limits: A Planner Search-Space Problem ## The Core Architectural Problem PostgreSQL's planner has long used two escape hatches — `from_collapse_limit` and `join_...

Function scan FDW pushdown

## New in this round: Alexander Korotkov takes over the patch, tightens shippability to IMMUTABLE, and fixes a real planner limitation around multi-foreign-table joins This is a significant round. A ...

Dump statistic issue with index on expressions

## Dump Statistics Bug: Cross-Index Attribute Name Leakage in pg_dump ### Background and Architectural Context PostgreSQL 18 introduced the ability for `pg_dump` to dump and restore planner statisti...

[PATCH] Make NumericVar storage semantics explicit

# Analysis: Making NumericVar Storage Semantics Explicit ## Context and Architectural Background PostgreSQL's `numeric` type has two distinct representations that the code juggles constantly: 1. **...

Missing jsonb_ ... functions on DOCs

## Overview This is a single-message documentation report on pgsql-hackers rather than a full design discussion. Marcos points out that a set of underlying SQL-callable functions backing the `jsonb` ...

Making the ENUM operators LEAKPROOF

# Making ENUM Operators LEAKPROOF — Technical Analysis ## The Core Problem PostgreSQL's `LEAKPROOF` function attribute is a promise to the planner: the function will not leak information about its a...

avoid false dropped replication slot log messages

## Overview This is a single-message bug-report/patch proposal from Lakshmi addressing a misleading log message in PostgreSQL's **logical replication slot synchronization** subsystem — specifically i...

2026-05-14 release announcement draft

## Thread Overview: 2026-05-14 Release Announcement Draft This thread is an **administrative/release-management thread**, not a technical design discussion. Jonathan Katz, acting in his long-standing...

Parallel INSERT SELECT take 2

## New in this round: Hou vs. Tomas on cascading-lock cost, and a clean feature split Two messages that sharpen — but do not resolve — the auto-maintenance-vs-declarative debate, plus an explicit arc...

[PATCH] trenary reloption type

# Ternary Reloption Type: Consolidating the "unset" Semantics ## The Architectural Problem PostgreSQL's reloption subsystem historically provided a small set of primitive types: `bool`, `int`, `real...

Adding REPACK [concurrently]

## Minimal Update: Amit Escalates, Requests Reproducer Only two short messages from Amit Kapila since the last analysis. No new technical arguments, no patches, no position shifts — but there is a su...

2026-05-09

apt files missing for PG18

# Analysis: "apt files missing for PG18" — Packaging/Infrastructure Report ## Nature of the Thread This is **not a pgsql-hackers technical development thread** in the traditional sense. It is a sing...

Wrong results in remove_useless_groupby_columns()

## New and Significant: Bug Scope Narrowed to v18 Regression The only substantive new information in this round is Richard Guo's post-commit clarification about the **historical scope** of the bug, w...

Disabling Heap-Only Tuples

## Thread Analysis: Disabling Heap-Only Tuples / `local_update_limit` / `COMPACT` ### The Architectural Problem PostgreSQL's HOT (Heap-Only Tuple) optimization is a cornerstone of MVCC update perfor...

(SQL/PGQ) cache lookup failed for label

# Missing Dependency Tracking for SQL/PGQ Labels and Properties ## Context: SQL/PGQ in PostgreSQL SQL/PGQ (Property Graph Queries) is the ISO/IEC 9075-16 standard extension that adds property-graph ...

Function scan FDW pushdown

## New in this round: First external tester reports "no pushdown observed" — author clarifies it's a cost-model artifact, not a bug Two new messages, and they add genuine technical content beyond the...

Exists pull-up application with JoinExpr

# Extending EXISTS Sublink Pull-up to Handle JoinExpr Quals ## The Core Problem PostgreSQL's `convert_EXISTS_sublink_to_join()` (in `subselect.c`, invoked from `pull_up_sublinks_qual_recurse()`) tra...

Draft back-branch release notes are up

## Overview This thread is a routine administrative announcement from Tom Lane (PostgreSQL core committer and long-time release manager) notifying the pgsql-hackers community that draft release notes...

remove obsolete comment in AtEOXact_Inval

# Analysis: Removal of Obsolete Comment in `AtEOXact_Inval` ## Core Issue This thread is a minor code hygiene cleanup, not a substantive architectural change. The proposal targets a stale documentat...

errposition

## Thread Overview: Documentation vs. API Layering for `errposition` This is a short but instructive thread about the distinction between a **low-level ereport auxiliary routine** and its **context-s...

Add ssl_(supported|shared)_groups to sslinfo

# Analysis: Adding `ssl_supported_groups` / `ssl_shared_groups` to `contrib/sslinfo` ## Core Problem & Motivation The `contrib/sslinfo` extension is PostgreSQL's in-band introspection surface for th...

Support for 8-byte TOAST values, round two

## Support for 8-byte TOAST values, round two — Technical Analysis ### The Core Problem: TOAST OID Exhaustion PostgreSQL's TOAST (The Oversized-Attribute Storage Technique) mechanism stores large fi...

parallel data loading for pgbench -i

# Parallel Data Loading for `pgbench -i`: Technical Analysis ## Core Problem `pgbench -i` (initialization mode) is the canonical benchmark-setup workflow, and it has been single-threaded since incep...

Avoid calling SetMatViewPopulatedState if possible

## New Development: Submitter Pushes Back, Confirms CONCURRENTLY Mechanism cca5507 responds directly to Geier's objection with a concise technical rebuttal that partially confirms the prediction from...

Adding REPACK [concurrently]

## New Developments: Deeper Review of db-specific Snapshots Reveals Multiple Flaws Since the revert discussion, Amit Kapila, Masahiko Sawada, and Antonin Houska did a fresh review pass on the db-spec...

postgres_fdw: Use COPY to speed up batch inserts

# postgres_fdw: Use COPY to speed up batch inserts — Technical Analysis ## The Core Problem `postgres_fdw` currently sends batched inserts to the remote server using a prepared `INSERT ... VALUES ($...

Parallel INSERT SELECT take 2

# Parallel INSERT SELECT take 2 — Deep Technical Analysis ## The Core Architectural Problem PostgreSQL's parallel query infrastructure was extended to handle the SELECT side of `INSERT ... SELECT` i...

pg_stat_io_histogram

# pg_stat_io_histogram: Per-Bucket I/O Latency Distribution Tracking ## The Core Problem PostgreSQL's existing observability around I/O latency is coarse. `pg_stat_io` (introduced in PG16) tracks cu...

2026-05-08

Remove inner joins based on foreign keys

### New reviewer, new correctness bug: TABLESAMPLE defeats FK-based removal Alexandra Wang enters the thread with a v4 review that contributes one real bug and two minor process questions. The bug is...

Fix mismatched deallocation functions

## New Round: First Reviewer Feedback — Coccinelle Approach Called Into Question Zsolt Parragi (Percona) provides the first substantive technical review, and it is pointed. The feedback is twofold: (...

Avoid calling SetMatViewPopulatedState if possible

## New Development: Geier Raises a Fundamental Objection David Geier (geidav.pg) has returned with a **much more substantive technical challenge** that potentially undermines the entire premise of th...

Checkpoint replication slots later

## Checkpoint Replication Slots Later — Technical Analysis ### The Core Problem During a PostgreSQL checkpoint, the `CheckpointGuts()` function performs a sequence of sub-operations that flush vario...

Fix typo 586/686 in atomics/arch-x86.h

## Core Problem: Broken 64-bit Atomic Read/Write on 32-bit x86 The immediate issue is a trivial typo in `src/include/port/atomics/arch-x86.h`: preprocessor checks reference non-existent macros `__i56...

Row pattern recognition

## New in this round: Henson's 10-patch follow-up series on top of v47 Henson Choi posted a cleanup/polish series (0001–0010) implementing the [A]–[D] follow-up plan he had sketched on 2026-05-05, pl...

small cleanup for s_lock.h

## New in this round: Nathan posts patch v3→v5 and floats a larger simplification agenda Nathan followed through with actual patches (v3, v4, v5 in rapid succession on 2026-05-07), fixing his own mis...

PostgreSQL and OpenSSL 4.0.0

## Core Problem: OpenSSL 4.0.0 API Const-Correctness Churn OpenSSL 4.0.0 shipped GA in April 2026 and — while not removing any APIs PostgreSQL currently relies on — tightened `const` qualifiers on a ...

[PATCH] Make spelling consistent in waiteventset.c

## Summary This is a trivial cosmetic cleanup patch submitted against `src/backend/storage/ipc/waiteventset.c`. It is not an architecturally significant thread — it contains a single message with no ...

[PATCH] Clean up property graph error messages

## New Activity: Peter Pushes Back on the Patch The new round contains the first substantive disagreement in the thread. Peter Eisentraut, who had earlier handled the `vertexes`→`vertices` rename him...

2026-05-07

pgindent versus struct members and typedefs

## What's New: Release Coordination, Not Technical Substance The new messages are entirely about **commit choreography**, not new technical ground. The patch itself is unchanged in substance — only t...

raising errors from Xact leads to assertion failure

# Assertion Failure When Raising Errors from XACT_EVENT_PREPARE Callback ## Core Problem The reporter (Kirill Reshke, working on a sharding extension for PostgreSQL — pg-sharding) is building a two-...

Available disk space per tablespace

## New review from Zsolt Parragi (Percona) — v5 code review A new reviewer, Zsolt Parragi (Percona), posted a detailed code-level review of v5. This is the first substantive review feedback from some...

create table like including storage parameter

## New in this round: Henson Choi's line-by-line review A single new message from Henson Choi (assam258@gmail.com) — the same reviewer who earlier delivered the 96.8% coverage report. This round is a...

Fix mismatched deallocation functions

## Core Problem: Allocator/Deallocator Mismatches in Frontend Code PostgreSQL's frontend utility code (`src/fe_utils`, `src/bin`, libpq, etc.) exposes two parallel families of memory management wrapp...

Remove inner joins based on foreign keys

### New: Tender Wang raises an ordering/iteration issue in `remove_useless_joins()` Tender Wang follows up on his own earlier review with a distinct, previously-unmentioned observation: inner-join re...

occasional ECPG failures on dikkop (FreeBSD)

## Overview This thread is a short buildfarm diagnostic exchange concerning intermittent (~5% rate) segmentation faults in ECPG's threaded regression tests on the `dikkop` FreeBSD animal. The failure...

Make printtup a bit faster

## What's New in This Round Three messages, and one of them is technically substantive: **Andres posted a rough prototype** demonstrating his fcinfo-context approach concretely, ending the abstract d...

2026-05-06

support create index on virtual generated column.

## Core Problem PostgreSQL 18 introduced **virtual generated columns** (commit 83ea6c5), where the column's value is computed on read rather than stored. This provides a "free" schema refactoring pri...

race condition when writing pg_control

## Core Problem: Two Distinct Race Conditions on pg_control This thread starts as a narrowly scoped bug report but evolves, over six years, into a much deeper architectural discussion about how Postg...

on_error table, saving error info to a table

# Technical Analysis: `ON_ERROR table` — Saving COPY FROM Errors to a Table ## Background and Motivation PostgreSQL 17 introduced the `ON_ERROR ignore` option for `COPY FROM`, allowing rows that fai...

ri_LockPKTuple misleading message

## Summary This thread is a small but illustrative bug-fix discussion concerning a **misleading error message** emitted by PostgreSQL's referential-integrity machinery (`ri_LockPKTuple`) and the row-...

Implement waiting for wal lsn replay: reloaded

# WAIT FOR LSN: Built-in Read-Your-Writes Consistency for Standbys ## The Core Problem PostgreSQL's streaming replication provides eventual consistency on standbys, but applications needing **read-y...

Having problems generating a code coverage report

## Overview This thread is not about a PostgreSQL code defect per se — it documents a long-running, collective struggle to keep PostgreSQL's **code coverage reporting pipeline** (`make coverage-html`...

Remove inner joins based on foreign keys

## Inner Join Removal via Foreign Keys — Architectural Analysis ### The Core Problem PostgreSQL's planner has long supported *left* join removal: if the RHS of a LEFT JOIN is guaranteed to match at ...

First draft of PG 19 release notes

## Thread Overview This thread nominally concerns Bruce Momjian's first draft of the PostgreSQL 19 release notes (212 feature entries, versus a recent average of 200), but it quickly bifurcates into ...

Add pg_stat_vfdcache view for VFD cache statistics

## Overview This thread proposes adding observability into PostgreSQL's Virtual File Descriptor (VFD) cache — a per-backend LRU-managed cache of open OS file descriptors bounded by `max_files_per_pro...

CREATE OR REPLACE MATERIALIZED VIEW

# CREATE OR REPLACE MATERIALIZED VIEW — Technical Analysis ## Core Problem Materialized views in PostgreSQL occupy an awkward middle ground in the object taxonomy: they carry a query definition like...

pg_rewind does not rewind diverging timelines

# pg_rewind and Diverging Timelines with Identical TLI Numbers ## The Core Problem PostgreSQL's timeline identifier (TLI) is a monotonically increasing integer that gets bumped every time a standby ...

Refactor code around GUC default_toast_compression

# Refactoring the TOAST Compression Method Registry ## Architectural Context PostgreSQL's TOAST (The Oversized-Attribute Storage Technique) subsystem supports pluggable-but-fixed compression methods...

Streaming replication and WAL archive interactions

## Core Problem: Coordinating WAL Archiving Across Primary and Standbys ### Architectural Context PostgreSQL's WAL archiving (`archive_mode`/`archive_command`) and streaming replication were designe...

Streaming replication and WAL archive interactions

# Streaming Replication and WAL Archive Interactions: The Shared Archive Mode Revival ## Core Problem: WAL Archival Gaps in HA Clusters In PostgreSQL HA deployments, there is a well-known race betwe...

Adding pg_dump flag for parallel export to pipes

## Core Problem `pg_dump`'s text format composes trivially with Unix pipelines (`pg_dump ... | lz4 | pv | ssh ...`), but the directory format (`-Fd`)—the only format that supports **parallel** dump/r...

StringInfo fixes, v19 edition. Plus a few oddities

# StringInfo fixes, v19 edition. Plus a few oddities — Technical Analysis ## Core Problem This thread addresses two intertwined concerns that recur each PostgreSQL development cycle: 1. **Misuse of...

Add 64-bit XIDs into PostgreSQL 15

# Deep Technical Analysis: 64-bit XIDs in PostgreSQL ## The Architectural Problem PostgreSQL's 32-bit TransactionId imposes a hard ceiling on transaction throughput: once ~2 billion XIDs have been c...

Support EXCEPT for ALL SEQUENCES publications

# Support EXCEPT for ALL SEQUENCES / TABLES IN SCHEMA Publications ## Architectural Context PostgreSQL's logical replication publication model historically offered two granularities: 1. Explicit obj...

Make printtup a bit faster

# Making `printtup` Faster: Rethinking the Type Output Function API ## Core Problem `printtup` — the `DestReceiver` callback used to format tuples for the wire protocol in text mode — shows up promi...

FOR PORTION OF vs. object_aclcheck

# FOR PORTION OF vs. object_aclcheck — Analysis ## Context and Architectural Background `FOR PORTION OF` is the SQL:2011 temporal-update feature that allows `UPDATE`/`DELETE` to affect only a sub-ra...

Type of property graph

## Core Problem PostgreSQL's SQL/PGQ (Property Graph Queries) feature, under development by Peter Eisentraut, introduces a new schema object: the **property graph**. A property graph is a catalog-lev...

problems with toast.* reloptions

## Core Problem: The `toast.*` Reloptions Are Fundamentally Broken PostgreSQL has long supported `toast.*` reloptions (e.g., `toast.vacuum_truncate`, `toast.autovacuum_vacuum_threshold`) that allow i...

EXPLAIN: showing ReadStream / prefetch stats

# EXPLAIN: Exposing ReadStream / Prefetch Statistics ## Problem Statement The ReadStream API (introduced in PG17) centralizes asynchronous buffer prefetching for sequential-like access patterns. It ...

off-by-one in pg_repack index loop

## Core Problem This thread identifies a classic **off-by-one boundary check bug** in code that validates an index against a list length before calling `list_nth_oid()`. The thread title mentions "pg...

Serverside SNI support in libpq

# Server-side SNI Support in libpq: Deep Technical Analysis ## The Core Problem PostgreSQL's TLS implementation has historically supported a single server certificate/key pair, configured via `ssl_c...

Pgbench: remove synchronous prepare

# Pgbench: Remove Synchronous Prepare — Technical Analysis ## The Core Problem `pgbench` with `--protocol=prepared` has a latent bug that surfaces when used behind a connection pooler (e.g., PgBounc...

Row pattern recognition

# Row Pattern Recognition (SQL/RPR) Implementation ## Overview This thread, spanning from June 2023 to May 2026, documents the design and implementation of SQL:2016's Row Pattern Recognition (RPR) f...

Wrong results in remove_useless_groupby_columns()

# Wrong Results in `remove_useless_groupby_columns()` — Collation and Opfamily Mismatches ## Core Problem `remove_useless_groupby_columns()` is a planner optimization in `src/backend/optimizer/plan/...

Use-after-free issue in postgres_fdw

# Use-after-free in postgres_fdw: Premature PGconn Disposal During Subtransaction Abort ## The Core Problem This thread addresses a concrete use-after-free bug in `postgres_fdw` that produces a back...

create table like including storage parameter

# CREATE TABLE LIKE: INCLUDING PARAMETERS and INCLUDING TRIGGERS ## Core Problem `CREATE TABLE ... (LIKE source_table INCLUDING ...)` is PostgreSQL's mechanism for cloning a table's definitional att...

vectorized CRC on ARM64

# Vectorized CRC on ARM64: Bringing PMULL-Based CRC32C to AArch64 ## Core Problem and Architectural Context PostgreSQL uses CRC32C pervasively — every WAL record is protected by a CRC, as are contro...

Avoid calling SetMatViewPopulatedState if possible

## Overview This is a small, focused optimization patch for `REFRESH MATERIALIZED VIEW` that targets an unnecessary catalog update performed on every refresh. The thread is short (three messages) but...

Adding REPACK [concurrently]

# REPACK [CONCURRENTLY]: Architectural Analysis ## Core Problem PostgreSQL has long lacked an in-core facility for **concurrent table rewriting**. The existing tools have significant deficiencies: ...

Support logical replication of DDLs

# Logical Replication of DDLs: A Multi-Year Design Struggle ## The Core Problem PostgreSQL's logical replication, since its introduction in 10, has replicated only DML (INSERT/UPDATE/DELETE/TRUNCATE...

remove pg_spin_delay() from atomics code

## Overview This is a small, targeted cleanup patch proposed by Nathan Bossart (a PostgreSQL committer) against the atomics subsystem header `src/include/port/atomics/arch-x86.h`. The thread (as pres...

Available disk space per tablespace

# Available disk space per tablespace — Technical Analysis ## Core Problem PostgreSQL exposes `pg_tablespace_size()` (how much a tablespace currently consumes) but has no first-class way to answer t...

small cleanup for s_lock.h

# Cleanup of `s_lock.h`: API Contract Clarification for Spinlocks ## Context and Motivation `src/include/storage/s_lock.h` is one of the oldest and most platform-sensitive headers in the PostgreSQL ...

Prepping for annual pgindent run

# Annual pgindent Run: Tooling Hygiene and Formatting Improvements ## Context and Purpose PostgreSQL maintains strict code formatting conventions enforced via `pgindent`, a customized wrapper around...

pgindent versus struct members and typedefs

# pgindent versus struct members and typedefs ## Core Problem `pgindent` — PostgreSQL's tree-wide C formatter, forked long ago from BSD `indent` — has a long-standing class of bugs related to how it...

Parallel Apply

# Parallel Apply for Non-Streaming Transactions: Deep Technical Analysis ## 1. The Core Architectural Problem Logical replication's apply pipeline has a fundamental scalability asymmetry with the pu...