Postgres Weekly
Plus Doom running in SQL, Postgres 19 beta 4, and Andres Freund on where Linux helps and hurts Postgres.

#​667 — September 30, 2026

Web Version

Together with  Tiger Data logo

Postgres Weekly

Postgres 19 Beta 4 Released — Confirming recent developments, the latest beta is largely about what’s been removed, although numerous fixes have also made it in. A release candidate is due in the next couple of weeks, with the final release possibly in October if things go well.

PostgreSQL Global Development Group

💡 What's gone? SQL/PGQ (property graph) support, online enabling/disabling of checksums, temporal updates/deletes with FOR PORTION OF, MERGE/SPLIT PARTITIONS, and the pg_get_role_ddl(), pg_get_tablespace_ddl(), and pg_get_database_ddl() functions.

SELECT count(*) Shouldn't Take Eight Seconds — A count or a rollup over millions of rows crawls, so you add indexes, a read replica, a nightly job. TimescaleDB extends the Postgres you already run so those queries return in milliseconds on live data. No warehouse. Get $1000 credit to start.

Tiger Data (creators of TimescaleDB) sponsor

What REPACK (CONCURRENTLY) Costs While It Runs — A measurement of Postgres 19's new online table rewrite against pg_repack and pg_squeeze. REPACK was fastest, but has some downsides to consider.

Radim Marek

💡 REPACK (CONCURRENTLY) is getting a lot of attention on pgsql-hackers this week too. A bug that could lose updates was fixed, and Radim's own testing found a hard limit on how many concurrent changes a repack can absorb.

IN BRIEF:

Can Your Postgres Survive a Bad Query? — ClickHouse compares what happens on four Postgres cloud providers (itself included) when queries eat all the RAM, and explains why setting work_mem doesn’t prevent it.

Kevin Biju (ClickHouse)

▶  Andres Freund on Where Linux Helps and Hurts Postgres — A candid talk from this year’s Kernel Recipes conference, aimed at kernel developers, covering topics like io_uring, huge pages, futexes, and atomic writes.

Andres Freund

📄 PgQ and PgQue: The Queue Engines You Might Need – Spotting bloated task tables and moving them to a purpose-built queue. Jobin Augustine (Percona)

📄 Fixing One Function's Disk Spills with ALTER FUNCTION … SET work_mem – An API slowdown was traced to a function causing 150GB of temporary-file writes a day, but a function-local setting tidied up the mess. Dinesh Kumar (CortexRidge)

📄 When to Choose x86 or ARM for Postgres – Some pros and cons, if you're able to make the choice. Ahmed Darwich (PlanetScale)

📄 pgBackRest and Failover: Why archive_mode Matters Stefan Fercot

📰 Classifieds

🎟️ Join us at Supabase Select and learn how we’re building the next generation operating system for Postgres with Multigres. Apply to attend with 25% off: SUPAWEEKLY.

🛠️ Tools and Releases

Safe Not Safe: Is My Migration Safe? — A fun side project from a former lead of Cloudflare's Postgres platform team, who spent years reviewing other teams' migrations. Paste in a SQL migration and it flags common problems, parsing entirely in the browser using Postgres's own SQL parser via WASM.

Vignesh Ravichandran

Kafgres 0.2: 700 MB/s of Kafka Throughput on Postgres — We featured this Kafka-compatible broker that runs inside Postgres a few weeks ago. Its author has since taken it from 113 MB/s to 700 MB/s write throughput on a single box.

Raynor Elgie

  • Pgpool-II 4.7.3, 4.6.8, 4.5.13, 4.4.18, 4.3.21 – A raft of security fixes to fix seven CVEs, one allowing clients using certificate authentication to log in as another user without a password.

  • PgDog 0.1.60 – Rust-powered pooler and sharding proxy. Sharded SELECT queries are now handled 40% faster.

  • pg_raw_parse – PgDog's Rust bindings to the Postgres parser with 20–60x faster parsing than pg_query.rs.

  • pgBackRest 2.59.2 – The backup/restore tool adds Postgres 19 beta 4 support.

  • PLHaskell 6.0 – Write Haskell in SQL code. Now supports Range types.

✨ And finally…

'We Ported the Original Doom to SQL' — Not quite Postgres, but a fun project from the team behind the Postgres-compatible CedarDB. It takes 1993's pioneering FPS and runs the logic and renderer in SQL, returning each frame as a bitmap for Python to show. Some neat architectural details (the renderer uses 89 CTEs!) and SQL queries here.

Lukas Vogel (CedarDB)

Issue 666 #667