← All digests

DBMS Weekly — 2026-06-22 (week of 2026-06-22–2026-06-28)

PG19 is in beta (Beta 1 shipped Jun 4); this week's master commits are mostly beta-period hardening, while the PG20-1 CommitFest (collection phase, Jul 1–31) fills with the next cycle's patches. Full network scan via the in-browser path — see the source note at the bottom.

PostgreSQL

Reading from Planet PostgreSQL

  • Some more thoughts on random_page_cost — Tomas Vondra revisits whether the SSD-era default (4.0) still makes sense, following up on his pre-recorded POSETTE talk; the planner's random-vs-sequential cost ratio is increasingly wrong on NVMe. (Tomas Vondra)
  • Same rows, different SUM — Radim Marek sums a 5-million-row float8 column three times on an untouched table and gets three different answers; a clean tour of why parallel aggregation + floating-point non-associativity makes SUM(double precision) non-deterministic. (Radim Marek · boringsql)
  • Stop Punishing Your Postgres for a Crash That Won't Happen — Lætitia Avrot dismantles the widespread fear that a longer checkpoint_timeout means a longer crash recovery, and why setting it to 1–5 minutes hurts steady-state performance. (Lætitia Avrot)
  • Heterogeneous Graphs in SQL/PGQ on PostgreSQL 19 — Hans-Jürgen Schönig exercises PG19's in-core SQL/PGQ property-graph querying (GRAPH_TABLE) over a graph with multiple vertex/edge labels. (Hans-Jürgen Schönig · Cybertec)
  • pg_stats: How Postgres Internal Stats Work — Richard Yen on the statistics model behind seq-scan-vs-index-scan planner decisions. (Richard Yen)
  • All Your GUCs in a Row — Christophe Pettus ran a near-daily series of short planner-GUC deep-dives this week (enable_hashjoin, enable_hashagg, enable_gathermerge, enable_async_append, effective_io_concurrency, distinct/group-by reordering). (Christophe Pettus · thebuild.com)

AI meets the project

  • Why PostgreSQL needs an AI usage policy — Jan Wieremjewicz argues the project should set norms for AI-generated contributions; it pairs with the active "The PostgreSQL C Dialect" hackers thread (10 messages, 6 authors) on codifying the C subset Postgres actually uses. (Percona; pgsql-hackers)

Ecosystem releases (from the official news archive)

  • pgtt v4.5 — the Global Temporary Tables extension ships a new release, mirroring the ongoing in-core GTT patch discussion. (HexaCluster)
  • postgres-lsp — a Language Server (SQL + PL/pgSQL) built on tree-sitter-postgres; announced Jun 21, just before the window, but a notable new tool. (Gavin M. Roy) [just pre-window]
  • IvorySQL 5.4 — the Oracle-compatible Postgres fork rebases on PostgreSQL 18.4. (Highgo)

PostgreSQL mailing lists (what's being designed)

Scanned the full Jun 22–28 pgsql-hackers archive. Most active design threads:

  • Conflict log history table for Logical Replication — by a wide margin the week's busiest design thread (~35 messages, 5–6 authors across the window): a PG20-targeted feature letting a subscription persist apply-time conflicts to a system-managed table rather than only the server log. (Amit Kapila, Peter Smith, Nisha Moond, Dilip Kumar)
  • The PostgreSQL C Dialect — codifying which C features the tree relies on (see AI section above).
  • New SQL surface — proposals for a PRODUCT() aggregate, MIN/MAX for uuid, and an ON EMPTY clause for aggregate/window functions; plus the long-running Row pattern recognition (SQL:2016 RPR) thread.
  • Reduce reorder buffer spill from O(N²) to O(N) during vacuum storms — a logical-decoding performance patch landed in the CommitFest this week, attacking quadratic spill behavior when many concurrent transactions interleave. (new CF record)

CommitFest (open: PG20-1, #59 — collection phase)

Now that the activity log is reachable again, here is the verified Jun 22–28 flow (last run could not fetch it):

  • Committed in-window: CHECK-constraint enforceability recursion (→ Dunstan), \crosstabview display settings (→ Herrera), bytea(uuid) leakproof (→ Sawada), and BUG #19484 — segfault via FDW (→ Langote).
  • Withdrawn: uuidv7(interval) timestamp-underflow guard; a pgbench --continue-on-error doc patch.
  • Notable new records: SIMD UUID parsing, MIN/MAX for uuid, UUIDv6 in uuid_extract_timestamp(), ON EMPTY for aggregate/window functions, a hook for plugins to acquire sample rows during ANALYZE (custom-sampling extension point), an enable_groupagg GUC, and a statistics view to track usage of deprecated features.

(PG20-1 formally runs Jul 1–31; the queue currently shows ~290 entries. Absolute totals are read from the filter sidebar and treated as approximate, not a verified snapshot.)

Wider DBMS & distributed data

  • ClickHouse 26.6 (Jun 25) — the June monthly stable leans into distributed and streaming analytics: continuous queries over MergeTree (implemented as a series of snapshot reads — a first step toward streaming queries), EXPLAIN WHATIF (estimate a hypothetical skip index's skip-ratio before building it), and experimental multi-stage distributed execution (the planner splits a query into stages connected by scatter/broadcast/gather/shuffle exchanges, enabling distributed shuffle/broadcast hash joins, shuffle aggregation, and distributed sort). (release date verified on GitHub; features cross-checked against ClickHouse's 2026 changelog)
  • TimescaleDB 2.28.1 (Jun 23) — maintenance release of the Postgres time-series extension.
  • WAL-RUS: a Rust rewrite of WAL-G — a from-scratch Rust reimplementation of the WAL-G Postgres backup tool (128 pts on HN). (write-up on the ClickHouse blog)

Research & cutting edge

Community pulse

International (non-English sources)

Conferences & CFP

  • PGDay.UK 2026 — Sep 8, 2026, London; schedule published and registration open.
  • PGSession 19 — Jan 12–13, 2027, Paris; call for papers open. (Dalibo)

New sources added this week

  • QuestDB blog — time-series engine internals and (as this week) sharp benchmarking-methodology writing. Added to wider-DBMS sources.
  • Greengage blog [ru] — engineering posts on the Greenplum-lineage Postgres MPP (this week: pg_upgrade/ggupgrade major upgrades and ggrebalance shrink). Worth watching for MPP-on-Postgres internals.

~30 items · sources scanned: Planet PostgreSQL (RSS, 28 in-window posts), postgresql.org news archive, pgsql-hackers archive (full Jun 22–28), CommitFest PG20-1 activity log + queue, postgres git master (full window, ~30 commits), GitHub Releases API (9 engines), ClickHouse 2026 changelog, arXiv cs.DB, Hacker News (Algolia, 7 queries), Habr PostgreSQL hub [ru], Dalibo [fr] · filtered out as marketing/promotion: ~8 · out-of-window items excluded.

Source/fetch note: plain WebFetch timed out on the postgres domains this run (last run it was a GitHub-only egress policy). The full scan was instead done over the in-browser path — Claude-in-Chrome plus same-origin fetch() reached planet.postgresql.org, www.postgresql.org, commitfest.postgresql.org, the GitHub API, arXiv, HN Algolia, Habr and Dalibo cleanly. That recipe is now the reliable fallback when direct fetch is blocked; recorded in sources.md.