#​616 — September 18, 2025

Web Version

🖋️ Due to the final release of Postgres 18 being expected next Thursday (September 25), we may send next week's issue a little later than usual.
__
Peter Cooper, your editor

Together with  pgAnalyze

Postgres Weekly

"database is not accepting commands": What Now? — This is an error you'd certainly rather not encounter as it means you have some serious work to do to avoid a transaction ID wraparound. If you do encounter it, though, Laurenz reminds us of what to do and some "inferior measures" to avoid.

Laurenz Albe

Hands on Postgres 18: Async I/O, B-tree Skip Scan & More — With Postgres 18 set to release this month, now is the time to understand its performance-focused updates: from asynchronous I/O and planner changes, to B-tree Skip Scans, UUIDv7, VACUUM changes, and enhanced monitoring for production workloads.

pganalyze sponsor

Sharding Our Core Postgres Database (Without Any Downtime) — Gadget, an online JavaScript dev platform, kept everything in a single, large Postgres instance but eventually reached the limits of vertical scaling. Here’s how they sharded their database without any downtime or dropped requests. “You can’t spell shard without hard”!

Harry Brundage (Gadget)

IN BRIEF:

  • 🇺🇸 PGConf NYC is taking place later this month in New York City and there are still tickets available.

  • Can you store the date of the world's oldest known financial transaction in Postgres? Turns out you can.

  • If you're using Debian 12 and are running Postgres under a US/* timezone, here's a quirk to be aware of before making the upgrade to Debian 13.

The Evolution of Logical Replication in Postgres: A Historical Overview — A quick rundown of approaches taken over the past 20 years. Petr has been involved with numerous logical replication related projects over the years (and gave a talk about Postgres replication at PostgresOpen 2016) so this is a reliable perspective.

Petr Jelinek

Postgres Maintenance Without Superuser — A look at the built-in, predefined administrative roles that let you perform numerous maintenance tasks without requiring superuser access.

Radim Marek

Getting Excited About Postgres 18 — We’re still a week away from the final Postgres 18 release, but there’s plenty to get excited about, not least the introduction of asynchronous I/O which will open up a performance boost for many of us.

Elizabeth Christensen (Crunchy Data)

📊 The Cost of TDE and Checksums in Cybertec PostgreSQL Enterprise Edition (PGEE) – I’m pleasantly surprised what little performance effect transparent data encryption has. Christoph Berg

📄 How to Implement the Outbox Pattern in Go and Postgres – A resilient way to ensure messages end up where they’re meant to go. Alex Pliutau

📄 Making Postgres Scale to Zero with CloudNativePG Esther Minano Sanz (Xata)

📺 Compiling Postgres to WebAssembly with PGlite – A 30-minute talk. Sam Willis

📰 Classifieds

🏁 Scale sub-ms speed. Redis 8.2 pushes 1M+ ops/sec. Deploy for free and stress-test it in your own stack.


💌 Did you know we have a whole family of newsletters? Check out JavaScript Weekly, Go Weekly and Ruby Weekly for a broader look at what we do.

RELEASES:

pgsql_tweaks 1.0.0 Released — A suite of functions and views that the author uses in her day job as a Postgres user, covering areas like checking data types, gathering statistics, WAL monitoring, finding unused indexes, and conversion functions. The official homepage has docs for each feature.

Stefanie Janine Stölting

pgstream: Postgres Replication with DDL Changes — A Go-powered Change Data Capture (CDC) command-line tool and library that offers Postgres replication support with DDL changes to targets including another Postgres database, Elasticsearch/OpenSearch, or to a webhook. There's more info in this blog post.

Xata