Plus PostgREST 16, Neon picks up PGlite, and 5 Postgres hits you may have missed.

#​661 — August 12, 2026

Web Version

🏖️ We're taking a summer break next week, so the next issue will be on August 26.
__
Your editor, Peter Cooper

Together with  ParadeDB

Postgres Weekly

Introducing sqlfmt: An SQL gofmt-Style Formatter — Postgres contributor Dimitri has developed his own way to style SQL over time (as used in his book, The Art of PostgreSQL) and built a Go tool to apply it automatically. Better still, you can use it on the Web, so if you're prepping a presentation or blog post, give it a try on your queries.

Dimitri Fontaine

Coming Soon: ParadeDB Cloud — We're building a fully managed ParadeDB: one Postgres for your application data, full-text search, vector retrieval, and aggregations. Our early access waitlist is open now.

ParadeDB sponsor

The Dangers of Postgres Subtransactions — A transaction with more than 64 subtransactions can bring a cluster to a crawl. A pgbench run shows throughput falling from 7,200 TPS to 160 TPS, and it gets worse: a new read replica can refuse connections entirely.

Nidzwetzki and Berube (PlanetScale)

IN BRIEF:

Rebuilding Postgres for 300x Faster Analytics — The creator of pgrust, an attempt to rewrite Postgres in Rust, reflects on the power of batching, operator fusion and SIMD in a query engine.

Michael Malis

Introducing pg-java: A New Postgres Driver for the JVM — A long-time pgjdbc maintainer explains why he created a from-scratch, Postgres-first JVM driver built on virtual threads: pg-java. It's still considered pre-release though.

Sehrope Sarkuni

📄 Modelling State Transitions in Postgres – When an attribute changes over time and those changes matter, model it as a separate table of timestamped rows. Thiago Araújo Silva

📄 Choosing the Right Postgres Partition Key – You can partition a huge table 'perfectly', yet still have the slow queries stay just as slow… Umair Shahid (Stormatics)

📄 Making Postgres's Documentation Even Better – The practical elements of landing a docs fix in Postgres. Oli Sennhauser

📄 Multi-Tenant BYOK Encryption in Postgres with pgcrypto Tudor Golubenco

📰 Classifieds

Turn a live stream of machine data into real-time dashboards, all on Postgres. Free hands-on workshop, Sep 9. Save your spot.


🚀 Triple your Postgres productivity. pgEdge AI DBA Workbench: AI monitoring & diagnostics for ANY Postgres v14+. Open source.

HITS OF THE YEAR SO FAR:

As we're taking a week off, this is a natural moment to reflect and shine a spotlight on some of the best items of 2026 so far. We know not everyone has time to read every issue, so there are likely to be some highlights you missed… :-)

A small selection from the top items (by clicks):

  1. Postgres is Enough – A useful directory of how Postgres can replace other systems including Redis, Elasticsearch and Kafka.

  2. work_mem: It's a Trap! – An enjoyable tale of two experienced Postgres developers digging into just how a server with 2TB of RAM (and a work_mem setting of just 2MB) got taken down by a badly written query.

  3. How Moving One Word Can Speed Up a Query 10–50x – One of those "but… how?" moments where two logically equivalent queries led to a 32x difference in performance.

  4. Postgres Locks Explained"It's the resource I wish existed when I first started learning about locks", said the author of this site focused on explaining the different types of lock used in Postgres in an easy-to-understand way.

  5. Life Altering Postgresql Patterns – Twelve bite-size tips and insights from using UUIDs as primary keys and table naming to the use of schemas and views. This one snuck in from issue 630's look at the best items of 2025 but I think we can get away with running it just one… more… time…

Before I leave, I want to thank all of you who have sent in submissions recently. I've amassed quite a queue to go through, and I'm not exactly sure how long it'll take. Rest assured, though, I read every single one and will be including some in future issues :-)

👋 We're now off for a week – see you again on August 26!