← All digests

DBMS Weekly — 2026-08-10 (week of 2026-08-10–2026-08-16)

Security-release week, and a heavy one: on Thursday the project shipped 18.6 / 17.11 / 16.15 / 15.19 / 14.24 plus 19 Beta 3, closing 28 CVEs at once — seventeen scored 8.0 or higher, nine with "executes arbitrary code" in the title — after an embargoed commit barrage that landed through Noah Misch's tree in a single push. A curiosity for version historians: 18.5 was stamped and then never shipped ("due to a regression", says the announcement), so the 18 branch jumps straight from 18.4 to 18.6. Outside the release: wal_compression=on quietly changed meaning to "zstd if you have it", Jakub Wartak filed a patch series pushing pg_basebackup toward 23 Gbps without abandoning its single-connection design, Tailscale's hunt for a 16-year-old SQLite WAL-reset bug owned Hacker News, and the CommitFest tracker produces its first real week-over-week balance.

PostgreSQL

Releases

  • plx — write Postgres functions in Ruby, PHP, JavaScript, Python, TypeScript, Go, Oracle PL/SQL, T-SQL — or COBOL — and plx transpiles the body to plpgsql at CREATE FUNCTION time. Nothing new runs in the backend: the stored body is ordinary plpgsql in pg_proc.prosrc, inspectable and dumpable, with the original source kept as a comment. The PL/SQL and T-SQL dialects make it a migration tool in disguise. Third notable Command Prompt release in three weeks. (Command Prompt)
  • SynchDB 1.4 — the heterogeneous-replication extension (Oracle/MySQL/SQL Server → Postgres/IvorySQL) grows up operationally. (Hornetlabs)
    • Oracle Container Database (CDB/PDB) support across all three Oracle paths: Debezium CDC, oracle_fdw snapshots, and Openlog Replicator; tested against Oracle 23ai
    • FDW snapshot connections can finally be secured (TLS for MySQL/PG sources, Oracle Wallet for Oracle/OLR)
    • runtime-adjustable Debezium log level — no more restarting a misbehaving connector to debug it; embedded Debezium jumps 2.6 → 3.5.2
  • pg_walviz v0.1.0-beta.1 — a read-only browser visualizer for WAL segment files: synchronized views of pages, record fragments, continuation records, alignment padding, FPIs and raw bytes, navigable by LSN, page, record or file offset. pg_waldump shows you the records; this shows you where they physically live. No running server needed. (Bertrand Drouvot)
  • sqlfmt — a gofmt-style SQL formatter implementing the indentation style from The Art of PostgreSQL: one opinionated style, zero configuration knobs. (Dimitri Fontaine)
  • A new from-scratch JDBC driver, written with Claude — the pg-java announcement lands on postgresql.org: a long-time pgjdbc maintainer's Postgres-first JVM driver built on virtual threads, developed substantially with an AI assistant, and explicitly pre-release. (Sehrope Sarkuni · JDBC project)
  • Dasha — open-source performance dashboard for PostgreSQL fleets; connects with a read-only role. (Dasha)
  • pgsonify — an MIT-licensed experiment that maps stats views to actual elephant recordings so you can hear your database's health. Entirely unnecessary; included anyway. (Dinesh Kumar)

Reading

  • The dangers of Postgres subtransactions — the week's best internals read: cross the 64-subtransaction cache per backend and snapshots go "suboverflowed", forcing every visibility check through SLRU lookups under lock. A pgbench demo drops from 7,200 TPS to 160 TPS cluster-wide, and a freshly-provisioned read replica can refuse connections entirely — with clear WAL-level explanations of why replicas can't just consult pg_subtrans. Detection queries included. (Jan Nidzwetzki, Ben Berube · PlanetScale, Aug 11) [vendor blog — substantive]
  • The curious case of Google's AlloyDB — twelve months of evaluating what "fully PostgreSQL compatible" means when the 8KB page is no longer the durable representation, WAL is the database, and VACUUM runs on a schedule you can't control. The verdict hinges on where compatibility ends, and he shows you where. (Radim Marek · boringsql.com)
  • The agent is not the system. Postgres is. — a design essay with measurements behind it: long-lived agent work survives agent death only because the coordination layer is a Postgres schema — campaign rows, leases with fencing tokens, trigger-enforced state machines, append-only hash-chained events, and a stored-function API as the sole write path. (Payal Singh · Instaclustr)
  • Let's build a Postgres extension for estimating memory usage — every executor node gets its own work_mem, so nobody can answer "how much RAM will this query take?"; this walks the planner internals needed to build a proof-of-concept estimator, machete in hand. (Shaun Thomas · pgEdge) [vendor blog — substantive]
  • Diagnosing high-cardinality workloads in pg_stat_statements (part 6) — ORMs, dynamic SQL and AI-generated queries can outrun pg_stat_statements.max so fast the extension silently sheds the data you need; side-by-side PG17 vs PG18 demo plus concrete checks for whether it's happening to you. (Ryan Booz · pganalyze)
  • Postgres checkpoint follow-up — "an HA replica saves me from long crash recovery" glosses over the fact that restartpoints follow checkpoints: a replica restart takes just as long, and rolling-restart automation plus one OOM-triggering query can take out both nodes. (Jeremy Schneider · ardentperf.com)
  • Multi-tenant BYOK encryption with pgcrypto — customer-managed keys for per-tenant column encryption, entirely in-database. Reads differently the same week pgcrypto picked up a silent-cleartext CVE — patch first. (Tudor Golubenco · Xata)
  • Choosing the right PostgreSQL partition key — you can partition a huge table "perfectly" and make nothing faster: pruning only fires when the important queries filter on the key, and the post is a method for finding that out before the migration you can't take back. (Umair Shahid · Stormatics)
  • All Your GUCs in a Row reaches the I/O and JIT chapters — seven more entries this week, covering PG18's AIO knobs (io_method/io_workers, io_max_concurrency, io_combine_limit) and the JIT family — including the reminder that jit=on silently does nothing without the LLVM library installed, and that IntervalStyle can flip the sign of your data on input. (Christophe Pettus · thebuild.com)
  • Introducing the CYBERTEC PG Operator — yet another Kubernetes operator, but open source and aimed squarely at the gap the others leave: multi-site clusters with cross-site replication and failover as first-class objects. (Hans-Jürgen Schönig · Cybertec)

CommitFest (open: PG20-2, #61)

Community pulse

  • Does anyone run Postgres without PgBouncer? — Brandur's ten-years-later fragment tables which managed providers ship a pooler (nearly all) and asks why Postgres still needs one bolted on; the thread relitigates process-per-connection, transaction-mode gotchas, and whether PG18's AIO changes the calculus. (Hacker News · 144 pts, 94 comments; also Lobsters · 38 comments)
  • Asynchronous I/O in DuckDB: work, thread, work — DuckDB's write-up (published Jul 31, surfaced big this week) on retrofitting async I/O into a synchronous engine without a rewrite: I/O tasks yield to compute on the same thread pool. The comments compare it against Postgres 18's io_method choices. (Hacker News · 275 pts, 31 comments)
  • How we pushed CDC into Postgres — and turned replication into clockwork — Snowflake's Postgres service rebuilt CDC around the publisher (post is Jul 23, by Marco Slot of Citus fame); the thread is practitioners comparing fragile Debezium pipelines with engine-adjacent approaches. (Hacker News · 152 pts, 31 comments)
  • How are you managing your schemas in a database-first project? — a code-first refugee asks how DB-first teams avoid drift; 42 comments of migration-tool taxonomy (declarative vs imperative, pgroll/sqitch/plain SQL in git) and hard-won "the database is the source of truth, act like it" positions. (r/PostgreSQL · 8 pts, 42 comments)
  • Is there a database which stores its data files on object storage? — naive question, useful thread: 51 comments mapping the actual design space — Aurora/Neon-style paged storage, DuckDB-over-Parquet, SlateDB-style LSM-on-S3 — and where each breaks. (r/dataengineering · 16 pts, 51 comments)

Wider DBMS & distributed data

  • Tracking down the 16-year-old SQLite WAL-reset bug — the week's engineering blockbuster: Tailscale traced sporadic corruption to a WAL-reset race present in SQLite since 2010, reproduced it, and walked it upstream with D. Richard Hipp. A model post-mortem of finding a heisenbug in someone else's battle-tested code. (Tailscale · Hacker News 1,212 pts, 236 comments)
  • Electric is joining Neon at Databricks — the team behind PGlite (Postgres compiled to WASM) and the Electric sync engine gets folded into Neon, itself inside Databricks; Electric's own account is franker about what stays open source. The Postgres-adjacent startup consolidation continues. (Neon / Electric, Aug 11)
  • pg_clickhouse 0.10 — the Postgres-to-ClickHouse FDW adds subquery pushdown, IN-list pushdown and aggregate pushdown improvements; the headline "1000x faster TPC-H" is the vendor's own comparison of pushed-down vs row-by-row execution — directionally obvious, numerically theirs. (ClickHouse · HN 65 pts) [vendor blog — substantive]
  • Exploiting a PostGIS memory-corruption bug at NeonDB, Supabase and others — part 1 (from late July, surfaced this week) of a promised six-part series on managed-Postgres attack surface: a four-star extension bug turned into privilege escalation across several providers, responsibly disclosed. The author now claims part 2 will cover five PostgreSQL core RCE 0-days that still work on 18.6 — treat that claim as exactly that until published. (Mehmet Ince · mehmetince.net) [unverified — the 0-day claim; the PostGIS chain is documented]

Research & cutting edge

International (non-English sources)

  • Why is numeric so popular in PostgreSQL databases — and what it costs — the week's top-voted RU post: teams default every number to numeric for safety, and this walks through what that means at the storage and arithmetic level versus int/bigint/double precision, and when the flexibility is actually worth it. (Tantor · habr.com, +40) [ru] (orig: «Почему в БД на PostgreSQL популярен тип numeric?»)
  • Queries with ANY: when PostgreSQL plans longer than it executes — large = ANY(array) lists can push planning time past execution time; where the cost hides and what to do instead. (Tantor · habr.com, +33) [ru] (orig: «Запросы с ANY: когда PostgreSQL дольше планирует, чем выполняет»)
  • Pigsty v4.5: 575 extensions, Silo object storage, Valkey — the self-hosted Postgres distribution's extension count reaches 575, object storage switches to the MinIO-fork Silo, the Redis module gains a Valkey engine, and Kafka/MySQL pilot modules appear. (Ruohang Feng · blog.vonng.com, Aug 15) [zh] (orig: «Pigsty v4.5:575扩展、Silo、Valkey、Kafka与MySQL»)
  • Guarding long external-API sections with a lease table instead of advisory locks — a tidy pattern write-up: advisory locks die with the connection, so for minutes-long jobs use a single-row lease with a UUID token and a 30-second heartbeat, takeover after silence. (like-mountain · Qiita, Aug 14) [ja] (orig: «外部API呼び出しを含む処理を、advisory lockではなく自作のハートビートで排他制御する»)

New sources added this week

  • mehmetince.net — vulnerability researcher mid-way through a six-part series on the managed-PostgreSQL industry's attack surface, with working exploit chains and provider names. Claims should be read as a researcher's claims, but this is rare first-hand security content about the Postgres ecosystem. (Mehmet Ince)

~44 items · sources scanned: Planet PostgreSQL (live, full window), pgsql-committers via mail-archive (msg47874–msg48254, boundary timestamps verified in −0700), postgresql.org news archive + security pages, CommitFest #61 queue totals + activity log (captured 03:30 Monday; log reached back to Aug 12), Postgres Weekly #661, HN via the Algolia API (verified points/comments over the Aug 10–16 epoch window), Lobsters /t/databases, seven subreddits via the read-only JSON API, DBA Stack Exchange via the API (scanned; top question of the week: 3 points — nothing qualified, though four separate PolarDB-for-PostgreSQL questions in one week is a small curiosity), arXiv cs.DB (Aug 11–17 enumerated, submission dates spot-checked), Habr PostgreSQL hub [ru], blog.vonng.com [zh], Qiita [ja], publickey1.jp [ja], blog.dalibo.com [fr], cybertec-postgresql.com [de/en], postgresql.org events page · filtered out as marketing/ads: ~10 (a conference-booth promo, an AI-frameworks essay series, a product-install PR, two tool self-promos, a vendor HA-feature piece, an AI-agents listicle, three newsletter sponsor slots) · out-of-window but surfaced this week: DuckDB's async-I/O write-up (Jul 31), Snowflake's CDC post (Jul 23) and the PostGIS exploit chain (Jul 28), each listed for its in-window discussion.

Source note: browser available this run via the Control_Chrome MCP path (claude-in-chrome extension reported no paired browser) — it carried the HN Algolia queries, the Reddit JSON sweep, Lobsters, Qiita, and date verification on client-rendered pages. Mailing lists: pgsql-hackers/-bugs/-performance archives remain unreachable to plain fetch; coverage is the pgsql-committers stream (fresh through Sunday) plus hackers threads reached via postgresql.org/message-id from CommitFest links. CommitFest: both activity logs were live but the ~100-row retention again ate Mon–Wed; queue totals come from the authoritative /61/ status-summary line, and this is the first week with a stored prior-week snapshot, so the balance above is a real delta rather than a baseline. Non-English: ru/zh/ja produced items; fr was a translation of the release announcement plus a job ad (verified quiet), de's in-window output was English-language posts counted elsewhere; modb.pro [zh] still resists enumeration — front, search and tag pages are all client-rendered shells even in a real browser; next attempt should try its mobile site or XHR endpoints. Unverified claims flagged: the "five core RCE 0-days working on 18.6" statement (researcher's own, part 2 unpublished) and pg_clickhouse's 1000x TPC-H figure (vendor's own harness).