2026-06-01

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2026-05-27

[PATCH] Two small errhint cleanups in PG19 code

# Technical Analysis: Two Small errhint Cleanups in PG19 Code ## Core Problem This thread addresses two minor but important message quality issues in PostgreSQL 19's error hint (errhint) strings — ...

[PATCH] Little refactoring of portalcmds.c

# Technical Analysis: [PATCH] Little refactoring of portalcmds.c ## Core Problem The patch addresses code duplication in `src/backend/commands/portalcmds.c`, specifically around cursor name validat...

POC: PLpgSQL FOREACH IN JSON ARRAY

# Technical Analysis: PLpgSQL FOREACH IN JSON ARRAY ## Core Problem PL/pgSQL currently lacks a native iteration construct for JSON arrays. Developers who need to iterate over JSON array elements mus...

future of PQfn()

# Future of PQfn(): Retiring PostgreSQL's Fast-Path Function Call Interface ## Core Problem PQfn() is PostgreSQL's "fast path" interface in libpq, which allows clients to invoke server-side functio...

Support loser tree for k-way merge

# Support Loser Tree for K-Way Merge in PostgreSQL ## Core Problem PostgreSQL's external sort implementation uses a binary heap (priority queue) to perform k-way merging of sorted runs during `tupl...

Remove inner joins based on foreign keys

## Richard Guo's PGConf.dev Synthesis and Formal Options Enumeration (v5) Richard returns from PGConf.dev with a significant message that restructures the entire discussion. Rather than defending the...

[PoC] Add CANONICAL option to xmlserialize

# Technical Analysis: Adding XML Canonicalization to PostgreSQL ## Core Problem XML documents can have multiple valid physical representations that are semantically equivalent. For example, `

remove autoanalyze corner case

# Technical Analysis: Removing Autoanalyze Corner Case in Anti-Wraparound Vacuum ## The Core Problem PostgreSQL's autovacuum system has a subtle and likely unintentional behavioral corner case rela...

expand refint docs with usage info

# Technical Analysis: Expanding refint Documentation with Usage Info ## Core Problem The `refint` contrib module (which provides referential integrity checking via triggers) has been the subject of ...

libpq maligning postgres stability

# Technical Analysis: libpq Misleading "Server Crash" Error Messages ## Core Problem libpq, PostgreSQL's client library, contains a long-standing error message pattern that misleads users about the ...

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

## Incremental Update: Proposer Pivots to Lightweight Alternatives The most significant development is that **Nikolay Samokhvalov has explicitly conceded** the year-based versioning proposal and pivo...

Small fixes for CHECKPOINT FLUSH_UNLOGGED

# Technical Analysis: Small fixes for CHECKPOINT FLUSH_UNLOGGED ## Context and Background This thread addresses two minor but important polish issues with the recently committed feature "Add FLUSH_U...

2026-05-25

splitting pg_resetwal output strings

# Splitting pg_resetwal Output Strings: Dynamic Column Alignment for Translatable Output ## Core Problem PostgreSQL's `pg_resetwal` (and similar tools like `pg_controldata`) produce tabular output ...

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

## Incremental Update: Core Committer Opposition Emerges The most significant development since the initial analysis is that **two core committers** (Tom Lane and Peter Eisentraut) have now weighed i...

Removing broken support for OpenSSL without ECDH

# Removing Broken Support for OpenSSL without ECDH ## Technical Problem PostgreSQL's SSL/TLS implementation contains dead code paths guarded by the `OPENSSL_NO_ECDH` preprocessor macro, which was i...

Adding pg_dump flag for parallel export to pipes

## New External Tester Report — First Substantive Feedback in Months Solai (solai.cdac@gmail.com) provides the first external testing report since Mahendra's earlier reviews. The message confirms bas...

Incremental View Maintenance, take 2

# Incremental View Maintenance (IVM) for PostgreSQL — Deep Technical Analysis ## Core Problem Materialized views in PostgreSQL can only be refreshed via `REFRESH MATERIALIZED VIEW`, which recompute...

Fix pg_stat_wal_receiver to show CONNECTING status

## Incremental Update: Patches Committed + Post-Commit Review ### Resolution: Both Patches Applied Michael Paquier committed the v3 patch set on 2026-05-22: - **v3-0001** (the CONNECTING visibility...

Pg upgrade bug with NOT NULL NOT VALID

## Incremental Update: Continued Discussion on Fix Approach The thread has a brief exchange between Kirill Reshke and Álvaro Herrera clarifying positions on the solution approach, but no patches or s...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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