---
title: "Postgres 19's most exciting features"
publication: "Postgres Weekly"
issue: 647
published_at: "2026-05-06"
canonical_url: "https://postgresweekly.com/issues/647"
---

Plus playing Tetris with Postgres columns, using SET for session variables, and Figma's homebrew Postgres bouncer.        

#​647 — May 6, 2026 

[Web Version](https://postgresweekly.com/issues/647)  

Together with [![Microsoft\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_280,h_60/e_make_transparent/co_white,e_outline:7/om9hjsmudy5lsvba59eb.png)](https://posetteconf.com/2026/schedule/)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kypnkxj6cc4bjtcfewgt.jpg)](https://www.bytebase.com/blog/postgres-19-features-im-excited-about/)  

[Postgres 19 Features I'm Excited About](https://www.bytebase.com/blog/postgres-19-features-im-excited-about/) — An opinionated run-through of some v19 highlights, including `pg_plan_advice`, DDL extraction functions, online `REPACK`/`REPACK CONCURRENTLY`, and observability improvements. 

Tianzhou (Bytebase)   

[The Potential Consequences of Using Postgres as a Job Queue](https://richyen.com/postgres/2026/05/04/postgres_job_queue.html) — At “small scale” it’s fine, but when do the wheels start to fall off, and what are the alternatives? Richard has some pragmatic pointers. 

Richard Yen   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/5dd244c1.png)](https://posetteconf.com/2026/schedule/) 

[Azure HorizonDB at POSETTE: An Event for Postgres 2026](https://posetteconf.com/2026/schedule/) — Explore 44 talks about Azure HorizonDB, PostgreSQL-backed app development, Postgres performance & AI, Postgres 19 and more at POSETTE 2026, a free & virtual developer event, happening 16-18 Jun. Don’t miss your favorites - use [Add to Calendar](https://posetteconf.com/2026/schedule/). 

Microsoft | AMD sponsor   

**A _PGBACKREST_ INTERLUDE:** 

- Last week, [pgBackRest was 'dead'](https://mydbanotebook.org/posts/pgbackrest-is-dead.-now-what/), but a week is a long time in Postgres, and maintainer David Steele received such an outpouring of support that _["it appears all but certain that [he\] will be able to secure enough funding to continue the project."](https://github.com/pgbackrest/pgbackrest#maintenance-update)_ 🎉
- Even if Steele's funding falls through, [PGX Inc.](https://pgexperts.com/) has stepped up [to provide 'continuity support' with `pgxbackup`](https://thebuild.com/blog/2026/05/01/pgxbackup-continuity-support-for-pgbackrest/), a fork of pgBackRest.
- Vibhor Kumar uses the pgBackRest story to [reflect on the role of open source](https://vibhorkumar.wordpress.com/2026/05/04/when-open-source-becomes-infrastructure-the-pgbackrest-lesson/#) when it goes beyond merely being a project to becoming _infrastructure_.   

[How Figma Built the Bouncer It Needed for Postgres](https://www.figma.com/blog/pgkeeper-building-the-bouncer-we-needed-for-postgres/) — Figma outgrew PgBouncer, evaluated PGCat, and ended up building its own pooler (PGKeeper) with Go and [PGX](https://github.com/jackc/pgx). It’s not public, but they go deep into the design: it exposes gRPC to clients rather than acting as a PG wire-protocol pooler, so each query has metadata to use for priority-based admission control, load shedding & fair sharing. 

He, Goh, and Baid (Figma)   

[Two Hundred and Twelve Things](https://thebuild.com/blog/2026/05/01/two-hundred-and-twelve-things/) — With 212 entries in the [draft Postgres 19 release notes](https://www.postgresql.org/docs/devel/release-19.html) being potentially overwhelming, Christophe boiled it down to the _“load-bearing”_ items, while explaining that while v19 has no single _"marquee user-facing feature"_, it’s _“exactly what a good database release looks like.”_ 

Christophe Pettus   

[How Are Postgres Committers Selected?](https://vondra.me/posts/how-are-committers-selected/) — A Postgres committer explains how people are selected to join [this distinguished group.](https://www.postgresql.org/developer/committers/) 

Tomas Vondra   

[It Depends: Using Session Variables in Postgres](https://www.pgedge.com/blog/it-depends-using-session-variables-in-postgres) — You’ve probably used [`SET`](https://www.postgresql.org/docs/current/sql-set.html) to tweak configuration parameters, but did you know you can use it to store your own session variables? 

Shaun Thomas   

📄 [Building an MCP Server Using Postgres](https://momjian.us/main/writings/pgsql/mcp.pdf) – Another fine presentation slide deck from Bruce. Bruce Momjian 

📄 [Why Sell the Idea of Contributing to Postgres to Your Employer](https://valeria-kaplan.medium.com/why-sell-the-idea-of-contributing-to-postgresql-to-your-employer-677bba8da0e6) Valeria Kaplan       

Classifieds   

🔎 [Elastic-quality search for Postgres as an extension](https://github.com/paradedb/paradedb). BM25, analytics & vectors — no Elasticsearch required. 

--- 

🐘 [AppSignal](https://www.appsignal.com/?variant=treatment&utm_source=newsletter&utm_medium=paid&utm_campaign=postgresweekly&utm_term=5-6&utm_content=classified) pinpoints the slow Postgres query, the deploy that broke it, and the fix. [Free 30-day trial. 2-min install](https://www.appsignal.com/?variant=treatment&utm_source=newsletter&utm_medium=paid&utm_campaign=postgresweekly&utm_term=5-6&utm_content=classified). 

--- 

🤖 [Meet Ellie](https://pgedge.com/download/ai-dba-workbench) — Your 24x7 Postgres AI co-pilot. Monitors, detects & fixes issues on ANY Postgres database. [Free & open source](https://pgedge.com/download/ai-dba-workbench).      

**RELEASES AND CODE:**  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/stbujlcgrkxmtd8gjbt5.jpg)](https://github.com/rogerwelin/pg_column_tetris)  

[pg_column_tetris: Enforce Optimal Column Alignment to Minimize Row Padding Waste](https://github.com/rogerwelin/pg_column_tetris) — Postgres aligns columns to specific byte boundaries for efficiency, inserting ‘padding’ to fill the gaps. This extension can show how many bytes are being lost to padding in existing tables or can warn/block against creating tables with inefficient column ordering. 

Roger Welin  

💡 If you're looking for best practices, [Ordering Table Columns in PostgreSQL](https://docs.gitlab.com/development/database/ordering_table_columns/) provides a guide to how GitLab designs its tables to avoid wasteful padding.  

- [pg_graphql 1.6](https://github.com/supabase/pg_graphql/releases/tag/v1.6.0) – Add GraphQL support to a Postgres database. Notably GraphQL introspection [is now disabled by default](https://supabase.github.io/pg_graphql/configuration/#introspection) to reduce the potential for API enumeration.
- [PostgREST 14.11](https://github.com/PostgREST/postgrest/releases/tag/v14.11) – Serve a fully RESTful API from a Postgres database.
- [postgresparser 1.2](https://github.com/ValkDB/postgresparser) – ANTLR-based PostgreSQL query parser for Go.    

**Got a new email?** You can [change your address here](https://postgresweekly.com/edit_subscription/*|UID|*). 

--- 

**Bored of us?** [Click here to stop getting Postgres Weekly](https://postgresweekly.com/leave/*|UID|*). 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada. 

[Stop getting this newsletter](https://postgresweekly.com/leave/*|UID|*).
