Neues vom PostgreSQL Planet
Igor Suhorukov: Vectorized Query Execution in PostgreSQL 19: Arrow, ORCA and Flight SQL in a PostgreSQL Extension
Last week I ported Apache Cloudberry to PostgreSQL 19 as a set of extensions and described where the port falls behind the original fork. On ClickBench, columnar engines beat it by an order of magnitude. The culprit isn’t the MPP implementation but PostgreSQL’s executor, which works on rows. Each row travels up the node tree on its own, every value goes through fmgr, and the cluster’s segments merely add more processors running the very same loop over table rows.
Christophe Pettus: The Deep End
Dimitri Fontaine: Consolidating databases with Postgres logical replication
This is part 2 of a series about Postgres logical replication use-cases, and about how the feature set has evolved over the past ten years and ten releases, one architecture at a time. Part 1 built a hub-and-workers system for write scalability and has the table of what each release added, which this post assumes. Part 3 covers a zero-downtime major upgrade.
Christophe Pettus: All Your GUCs in a Row: notify_buffers
Hollis Varden: UUIDs stored as text: what it costs in PostgreSQL 18
Last week I compared UUIDv4 and UUIDv7 as primary keys. There is a third case I left out: the key is a UUID, but the column is text. Some ORMs and JSON-first codebases end up there because a string is the easy path.
So I kept the same test and changed only the column type. 5 million rows, UUIDv7 and UUIDv4, each stored as uuid and as text. Short answer: the text index was 88% bigger, one level deeper, and every random lookup read one more page.
SetupSame as last time. One table per run:
Alexander Ioffe: I ran the same query twice and Postgres disagreed with itself
Prateek Arora: I timed 179 index recommendations on real data. 18% made the query slower.
My tool tells you things like “this index cuts the query’s cost by 91%”. Before releasing it, I wanted to know what that number is actually worth.
The tool is PgLens, a Postgres index advisor I’m building. Like several other advisors, it checks each suggestion with HypoPG: create a hypothetical index, run EXPLAIN again, and keep the suggestion if the planner’s estimated cost drops by at least 15%.
Christophe Pettus: Everyone into the Pool
Christophe Pettus: The Vector That Lied About Its Dimensions
Cornelia Biacsics: Contributions for week 39
On 29 September, the PostgreSQL Usergroup NL met, organized by Gerard Zuidweg and Sebastiaan Mannem
Speakers:
- Peter Lengkeek
- Ellert Van Koperen
- Jan Karremans
The Postgres US Summit 2026 was held from 30 September to 2 October.
Organizers:
Christophe Pettus: All Your GUCs in a Row: multixact_member_buffers and multixact_offset_buffers
Christophe Pettus: All Your GUCs in a Row: min_wal_size
Chris van Eijk: One partition per tenant in PostgreSQL, measured
Christophe Pettus: All Your GUCs in a Row: min_parallel_index_scan_size and min_parallel_table_scan_size
Christophe Pettus: Nobody Patches the Pooler
Kaushik Iska: What is direct I/O, and why does ClickHouse Managed Postgres use it for backups?
What is Direct I/O, and why would a managed Postgres care about it when taking a backup? Every day, a backup copies your whole database, hundreds of gigabytes, off the same NVMe drives that are answering your queries, and ships it to object storage. Linux treats those reads like any other file read: it keeps a copy of every byte in memory, in the page cache, in case someone asks for it again. Nobody will. To make room for those copies, the kernel throws out data Postgres had in memory and was about to use, and the next query that needs it goes to disk instead.
Christophe Pettus: All Your GUCs in a Row: md5_password_warnings
Jimmy Angelakos: PostgresEDI September 2026 Meetup Recap: tiering to Iceberg, and Postgres from Nuxt
Last week we had our September PostgresEDI meetup, the first since postgres.scot went up as the home for Postgres events in Scotland.
