2026-05-22

COPY TO BLACKHOLE / pg_dump -j -Fb

# COPY TO BLACKHOLE / pg_dump -j -Fb ## Technical Analysis ### Core Problem This thread, initiated by Jakub Wartak (EDB), proposes the concept of a "COPY TO BLACKHOLE" facility — essentially a mec...

Add pg_get_publication_ddl function

## Incremental Analysis: Detailed Code Review of v2 Patch This round consists of a comprehensive review by Peter Smith (32 review comments) and a brief comment from Jian He (japinli), followed by a s...

Implement waiting for wal lsn replay: reloaded

## Resolution of the `019_replslot_limit.pl` Race Condition The thread reaches consensus on fixing the replication slot state race exposed by the faster WAIT FOR LSN-based `wait_for_catchup()`. ### ...

Optimize LISTEN/NOTIFY

# Optimize LISTEN/NOTIFY: Deep Technical Analysis ## Core Problem PostgreSQL's LISTEN/NOTIFY mechanism suffers from a fundamental scalability bottleneck: **SignalBackends() has no knowledge of whic...

Rename Postgres 19 to Postgres 26 (year-based)?

# Rename Postgres 19 to Postgres 26 (Year-Based Versioning) ## Core Problem This thread proposes a fundamental change to PostgreSQL's versioning scheme: shifting from sequential integer major versi...

Pg upgrade bug with NOT NULL NOT VALID

# Pg_upgrade Bug with NOT NULL NOT VALID Constraints ## Core Problem This thread identifies a **pg_upgrade compatibility bug** introduced by PostgreSQL 18's treatment of NOT NULL constraints as fir...

Improve pg_stat_statements scalability

## Incremental Update: Parallel Query Safety Fix (FreeBSD CI Failure) ### What's New A FreeBSD CI failure exposed a fundamental interaction problem between the new pgstat-based architecture and para...

Multi-Entry Indexing for GiST & SP-GiST

# Multi-Entry Indexing for GiST & SP-GiST: Deep Technical Analysis ## Core Problem PostgreSQL's GiST (Generalized Search Tree) and SP-GiST (Space-Partitioned GiST) access methods fundamentally assu...

[PATCH] Add NESTED_STATEMENTS option to EXPLAIN

## Incremental Analysis: v3 Patch Submission ### Summary of New Technical Content Mohamed Ali submitted v3 of the patch with two significant architectural improvements and a design question for the ...

pg_rewind does not rewind diverging timelines

## New Review from Surya Poondla (2026-05-21) Surya Poondla provides the first substantive external review of the v2 patch, confirming it applies/builds cleanly and that the core algorithm is sound. ...

Fix pg_stat_wal_receiver to show CONNECTING status

## Incremental Update: Resolution on v2 Approach + New Bug Discovery ### Convergence on v2 The debate about whether to show timestamp fields during CONNECTING state has resolved. Michael Paquier de...

[PATCH] Add reentrancy guards in ri_triggers.c

# Technical Analysis: Reentrancy Guards in ri_triggers.c ## The Core Problem This thread addresses a **use-after-free vulnerability** in PostgreSQL's referential integrity trigger system (`ri_trigg...

amcheck support for BRIN indexes

# amcheck Support for BRIN Indexes: Deep Technical Analysis ## Core Problem PostgreSQL's `amcheck` extension provides corruption-detection capabilities for B-tree indexes (and more recently GIN ind...

Graph database developer meeting at pgconf.dev 2026

# Graph Database Developer Meeting at pgconf.dev 2026: Technical Analysis ## Core Problem and Context With basic SQL/PGQ (Property Graph Queries) support committed to PostgreSQL 19, the community fa...

Function scan FDW pushdown

## New in this round: Pyhalov identifies architectural weakness in Korotkov's "no fpinfo on function rel" design — surfaces three concrete problems A single dense message from Pyhalov that challenges...

(SQL/PGQ) cache lookup failed for label

## Ashutosh Bapat Identifies Two Additional Problems, Plans to Commit Current Patch First Bapat confirms the current patch is ready to commit and should not be blocked by newly discovered issues. He ...

Dump statistic issue with index on expressions

## Resolution: Bug Not Reproducible on Vanilla PostgreSQL Maksim Melnikov returns after investigation and confirms that the reported bug **cannot be reproduced on vanilla PostgreSQL**. The issue is s...

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...