Postgres Weekly
Plus a new vector index that isn't HNSW, how savepoints throttled a queue, and a key PgBouncer security fix.

#​669 — October 14, 2026

Web Version

Together with  Redis

Postgres Weekly

pg_vectorsearch: A Partition-Based Alternative to HNSW — A vector search extension that uses PRISM, a vector index that scans compressed k-means partitions rather than walking a graph like HNSW, and works on existing pgvector columns. It's alpha and requires Postgres 18+, while pgvectorscale moves to maintenance mode.

Erik Nordström et al. (Tiger Data)

Agent Memory: Raw Retrieval Vs. Extracted Facts, Tested — Redis reran agent memory systems on LongMemEval. Published scores missed reproduced results by up to 28 points, and pairing raw conversation retrieval with extracted facts beat either approach alone. See the data, costs and methodology.

Redis sponsor

How Savepoints Throttled Our Postgres Queue — A technical look, complete with some rather nifty visualizations, into how adding more workers to a Postgres-based queue made it slower because of per-job SAVEPOINTs (and how claiming jobs with a lease fixed it).

Rory Malcolm (incident.io)

IN BRIEF:

  • ⭐ Postgres 19's release has been pushed back to November 19, with an extra RC2 on November 12 to include many more recent fixes. The first release candidate still lands tomorrow (October 15).

  • ⚠️ PgBouncer 1.26.1 fixes three CVEs, the worst letting a client who knows one user's password log in as a different user (even a superuser) when SCRAM auth is in use.

'The Reverts Will Continue Until Morale Improves' — A Postgres committer, whose own work was among the casualties, shares his take on why so many Postgres 19 features were reverted during beta.

Peter Eisentraut

📊 Meanwhile, Kaarel Moppel ran 800 hours of benchmarks on the Postgres 19 betas and found them a few percent faster than v18 on OLTP workloads.

Don't Bet on SELECT Order: Shuffle Your Rows and See What Folds — If your app or tests implicitly rely on rows returning in insertion order, that can cause many an annoying bug (I've been bitten myself!). The pg_disorder extension shuffles SELECT results lacking an ORDER BY to catch such bugs in testing.

Yaroslav Kurbatov (Evil Martians)

What Deleting Rows Does to a Table — A tidy explainer and demo covering a common misunderstanding. Deleting half a table's rows, then running VACUUM, left it at 137 MB on disk, with only VACUUM FULL reclaiming it.

Hollis Varden

📄 Why Setting archive_command to /bin/true Can Lose Data – The 'fix' for a full WAL disk that breaks recovery without warning. Shaun Thomas

📄 PgBouncer Pooling Modes in Practice – What transaction pooling does to your advisory locks. Oskar Dudycz

📄 PgBouncer vs. Amazon RDS Proxy: How the Two Poolers Differ Wood and Chiba (AWS)

📄 How TABLESAMPLE Picks Rows Radim Marek

📰 Classifieds

RDST's always-on agent watches every PG query, automatically sends you explained fixes, and verifies they worked once applied. Put an agent to work on your Postgres database. It's free.


⚡ Rebase: An open-source backend for Postgres. REST, a typed SDK, auth, realtime, storage, and an admin panel you don't have to build.


Try ClickHouse Managed Postgres: Up to 10x faster for I/O-heavy workloads on local NVMe, with native ClickHouse integration.

RELEASES AND CODE:

pg-delta: Diff Postgres Schemas Into Ordered Migrations — Supabase's new open source schema diff engine. Point it at two Postgres 14–18 databases and get an ordered migration covering RLS policies, grants and domains. It replaces the deprecated migra, but is still alpha.

Valleteau and Xie (Supabase)

asyncpg 0.32.0: Fast Postgres Client Library for Python/asyncio — The long-standing Python client library for use with the asyncio framework now supports Postgres 19, as well as the newly released Python 3.15.

MagicStack

Orafce: Oracle Compatibility Functions for Postgres — Implements some of the functions from Oracle that might be useful for users migrating to Postgres. We haven’t linked to this in a few years but it continues to get frequent releases.

Orafce Project

  • wal2json 2.7 – A logical decoding plugin that emits row changes as JSON, used by many change data capture setups. This first release in over two years adds Postgres 18 and 19 support.

  • PGQueuer 1.6 – A Python job queue library built on Postgres.

  • Squawk 2.68 – A linter for Postgres schema migrations.

Issue 668 #669