DBMS Weekly — 2026-06-22 (week of 2026-06-22–2026-06-28) · fable edition
Regenerated edition of 2026-06-22, produced by Claude Fable 5 from a full independent rescan of the window (in-browser fetch path; every item below re-verified against its primary source on 2026-07-02).
PG19 sits in beta (Beta 1: Jun 4); master is in beta-hardening mode while the PG20-1 CommitFest (collection phase, Jul 1–31) accumulates next cycle's patches.
PostgreSQL
- SQL-callable DDL reconstruction keeps landing — the
pg_get_*_ddl()family (in-core replacement for "shell out topg_dumpto get a CREATE statement") got two fix-up commits this week: Tom Lane corrected the variadic declarations, Andrew Dunstan switched the option arguments to named booleans; the companion hackers thread "[PATCH] Add pg_get_table_ddl()" drew ~10 messages.[committed] - Inherited CHECK constraints can no longer be silently weakened — a child table could relax an inherited CHECK, breaking the parent's advertised invariant across the hierarchy; fixed Jun 27 with two follow-up doc commits clarifying
ALTER CONSTRAINTand inherited-constraint behavior. (Andrew Dunstan)[committed] - COPY TO (FORMAT json) now respects the column list's order —
COPY t (b, a) TO … (FORMAT json)emits keys in the requested order, matching text/CSV semantics. (Andrew Dunstan)[committed] - Two beta fixes for temporal
FOR PORTION OF— the volatility check on SQL:2011 period bounds moved into the planner, and foreign-table child partitions are now rejected underFOR PORTION OF. (Peter Eisentraut)[committed] MERGE/SPLIT PARTITIONhonorsdefault_tablespace— partition reshaping no longer quietly places the result on the wrong tablespace. (Alexander Korotkov)[committed]- UUID week — the
uuid→byteacast is now leakproof (quals using it can be pushed below RLS/security-barrier views), while the CommitFest collected SIMD-accelerated UUID parsing,MIN/MAXaggregates foruuid,UUIDv6support inuuid_extract_timestamp(), and a fix foruuidv7accepting pre-1970 dates. (Masahiko Sawada + CF)[committed + patches] pg_stat_iostops misattributing autovacuum-launcher extends — relation extends by the launcher were being counted like a worker's, skewing per-backend-type I/O stats. (Melanie Plageman)[committed]- Beta-hardening grab-bag — out-of-bounds read in the autoprewarm worker (Tomas Vondra); correctness pass over the online data-checksums worker (Heikki Linnakangas); unsafe order of operations in
ResourceOwnerReleaseAll()and a null-pointer crash in the ECPG compiler (Tom Lane); ModifyTable FDW arrays re-indexed when pruning result relations — the BUG #19484 segfault (Amit Langote);\crosstabviewhonors\psetboolean/null display (Álvaro Herrera); collation-lookup failure avoided for"char"columns (Tom Lane).[committed]
Reading from Planet PostgreSQL
- Some more thoughts on random_page_cost — Tomas Vondra (Jun 23) keeps pulling on the thread from his POSETTE talk: the 4.0 default encodes spinning-rust assumptions that NVMe has made wrong, and "lower it to 1.1" folklore isn't a measurement either. (Tomas Vondra)
- Same rows, different SUM — Radim Marek sums the same 5M-row
float8column three times and gets three answers: parallel aggregation + floating-point non-associativity, cleanly demonstrated. (Radim Marek · boringsql) - Stop Punishing Your Postgres for a Crash That Won't Happen — Lætitia Avrot on why a short
checkpoint_timeoutbuys almost no recovery time but costs steady-state performance every second. (Lætitia Avrot) - Heterogeneous Graphs in SQL/PGQ on PostgreSQL 19 — Hans-Jürgen Schönig exercises PG19's
GRAPH_TABLEover multi-label vertex/edge sets. (Cybertec) - pg_stats: How Postgres Internal Stats Work — Richard Yen (Jun 22) on the statistics behind seq-scan-vs-index-scan decisions. (Richard Yen)
- All Your GUCs in a Row — Christophe Pettus's near-daily GUC series worked through the planner's
enable_*knobs this week (enable_hashjoin,enable_hashagg,enable_gathermerge,enable_distinct_reordering/enable_group_by_reordering). (Christophe Pettus · thebuild.com) - coddpiece: Watch Relational Algebra Become SQL — also from Pettus: a small teaching tool that renders relational-algebra expressions as executable SQL; nice pedagogy for anyone explaining the model behind the syntax. (Christophe Pettus)
- Armchair Transit with PostGIS: The Census & The Bestagons — Rhys Stewart builds hexagonal-grid transit analysis in PostGIS; a fun H3-adjacent workout. (Rhys Stewart)
AI meets the project
- Why PostgreSQL needs an AI usage policy — Jan Wieremjewicz argues the project should set explicit norms for AI-generated contributions; it lands alongside the week's "The PostgreSQL C Dialect" hackers thread (16 messages) on codifying the C subset the tree actually uses — partly so both humans and tools stop guessing. (Percona; pgsql-hackers)
Ecosystem releases
- pgtt v4.5 — Global Temporary Tables extension update (Jun 28), timely while the in-core GTT patch sits in the CommitFest. (HexaCluster)
- IvorySQL 5.4 — the Oracle-compatible fork rebases onto PostgreSQL 18.4. (Highgo)
- postgres-lsp — Language Server for SQL/PL-pgSQL on tree-sitter-postgres; announced Jun 21, one day pre-window but too useful to skip. (Gavin M. Roy)
[just pre-window]
PostgreSQL mailing lists (what's being designed)
Full pgsql-hackers rescan, Jun 22–28 (~830 messages, ~330 threads):
- Conflict log history table for Logical Replication — the week's biggest design discussion (~45 messages): let a subscription persist apply-time conflicts to a system-managed table instead of only the server log; PG20-targeted. (Amit Kapila, Peter Smith, Nisha Moond, Dilip Kumar et al.)
- Handle concurrent drop when doing whole-database VACUUM — second-busiest thread (~25 messages), on
VACUUM's race with concurrent relation drops. [missed by the original edition] - Sequences meet logical replication — two active threads:
EXCEPT for ALL SEQUENCESpublications (~10 msgs) and teachingpg_createsubscriberto include sequences (~8 msgs). - A lost wakeup inside LockBuffer —
048_vacuum_horizon_floor.plhangs traced to a missed wakeup (~10 msgs); the kind of bug that ages you. - Row pattern recognition — the SQL:2016
MATCH_RECOGNIZEthread keeps grinding forward (~18 msgs). - GSoC 2026: B-tree index bloat reduction — a student-driven design discussion drawing real committer engagement (~10 msgs).
CommitFest (PG20-1, #59 — collection phase)
In-window flow (verified from the activity log): committed — CHECK-constraint enforceability recursion, \crosstabview display settings, bytea(uuid) leakproof, BUG #19484 FDW segfault; withdrawn — uuidv7(interval) underflow guard, a pgbench --continue-on-error doc patch. Notable new records: reorder-buffer spill O(N²)→O(N) during vacuum storms, SIMD UUID parsing, MIN/MAX for uuid, ON EMPTY for aggregate/window functions, an ANALYZE sample-rows hook for extensions, an enable_groupagg GUC, and a statistics view tracking deprecated-feature usage.
Wider DBMS & distributed data
- ClickHouse 26.6 (Jun 25) — continuous queries over MergeTree (periodic snapshot reads as a first step toward streaming),
EXPLAIN WHATIF(estimate a hypothetical skip index's benefit before building it), and experimental multi-stage distributed execution with scatter/broadcast/gather/shuffle exchanges — distributed hash joins and shuffle aggregation on the way.[release notes verified on GitHub] - TimescaleDB 2.28.1 (Jun 23) — maintenance release of the Postgres time-series extension.
- WAL-RUS: a Rust rewrite of WAL-G — from-scratch Rust reimplementation of the WAL-G backup tool; 132 pts on HN. (ClickHouse blog)
Research & cutting edge
- DiStash: A Disaggregated Multi-Stash Transactional Key-Value Store — transactional KV designed for compute/storage-disaggregated hardware. [paper]
- BtrLog: Low-Latency Logging for Cloud Database Systems — cutting tail latency on the cloud-DB write path; WAL-adjacent reading. [paper]
- CV-Rules: Serializability Verification of Concurrency Control Protocols — machine-checkable serializability arguments for CC protocols. [paper · missed by the original edition]
- Query Cost Model Calibration in Confidential Virtual Machines — planner cost constants drift inside TEEs/CVMs; directly relevant to anyone running Postgres in confidential compute. [paper · missed by the original edition]
Community pulse
- British Columbia, Time Zones, and Postgres — 143 pts / 112 comments; a jurisdiction changes its time-zone rules and
timestamptzhandling becomes everyone's problem. (Crunchy Data) - PostgreSQL is enough (2024) — 122 pts / 90 comments; the perennial "just use Postgres" thesis, re-litigated with fresh anecdotes.
- Show HN: DBOSify — drop-in Temporal replacement built on Postgres — 91 pts; durable workflow execution with Postgres as the only backend.
International (non-English sources)
- Range types in PostgreSQL: speeding up queries
[ru]— range types + GiST for cheap overlap/containment queries. (Nexign · Habr) - Lessons about deadlocks, again
[ru]— a production deadlock post-mortem; lock ordering strikes again. (Habr) - From ETL to CDC: real-time analytics on PostgreSQL, Kafka and ClickHouse
[ru]— architecture walk-through, part 1. (Habr) - Greengage major upgrades with pg_upgrade/ggupgrade and ggrebalance, part 1: Shrink
[ru]— MPP-on-Postgres operational internals from the Greenplum lineage. (Greengage) - pgBackRest plugin for CloudNativePG
[fr]— wiring pgBackRest into CNPG as a backup plugin, with a companion piece on pgBackRest as a community answer. (Dalibo)
Conferences & CFP
- PGDay.UK 2026 — Sep 8, London; schedule up, registration open.
- PGSession 19 — Jan 2027, Paris; CFP open. (Dalibo)
~28 items · sources scanned: Planet PostgreSQL (RSS + rolled-off items re-verified via short links), postgres git master via GitHub API (41 commits, full window), pgsql-hackers (~830 messages / ~330 threads across the window), CommitFest PG20-1 state, postgresql.org news archive, GitHub Releases API (9 engines), arXiv cs.DB (export API), HN Algolia (8 queries), Habr PostgreSQL hub [ru], Dalibo [fr] · filtered out as marketing/promotion: ~7 · out-of-window items excluded.
Fable note: this edition independently confirms every load-bearing claim of the original and adds four items it missed (the whole-database-VACUUM thread, CV-Rules, cost-model calibration in CVMs, coddpiece). One correction: the original credited the "PostgreSQL is enough" HN thread with 121 points and WAL-RUS with 128 — both had drifted upward by re-scan time (122/132); treat HN point counts as snapshots, not facts.