Right after the Apache Software Foundation's Community Over Code in Glasgow, we found ourselves the following day in Edinburgh for our October meetup, where Elizabeth Christensen (Snowflake) went over what's new in Postgres 18 and 19.
Elizabeth Christensen walking us through the Postgres versions timeline
Thanks to everyone who came along on Thursday, October 15th, to Elizabeth for joining us all the way from Kansas, and to pgEdge for the pizza and refreshments. It was also great to see David Christensen there with Elizabeth.
The Main Event: What's New in PostgreSQL 18 & 19
Elizabeth Christensen (Snowflake)
Elizabeth is an open source advocate on the Postgres team at Snowflake, a Postgres contributor and a board member of the United States PostgreSQL Association, and she runs the online Postgres Meetup for All. She came to go over Postgres 19, which had been pencilled in for the end of October, and the parts of 18 that went by unnoticed.
The first thing to know about 19 is that it has slipped. An unusually large number of features were reverted during the beta, which Elizabeth framed as the sign of a healthy project, because the process caught things, and some of them, such as the SQL property graph queries, are already lined up again for 20. Testing the betas is one of the easiest contributions anyone can make, and with the community packages, Docker or Postgres.app it is a few minutes' work. The background on the reverts is in her post on the Snowflake blog, What Is Happening with PostgreSQL 19?
From there she went through the two releases in five parts, all demonstrated on Bluebox, her Pagila-derived sample database of DVD rentals, which is worth a look on its own if you ever teach or demo Postgres.
- SQL you will actually use:
uuidv7(), virtual generated columns, andOLDandNEWinRETURNINGfrom 18, thenINSERT ... ON CONFLICT DO SELECTandIGNORE NULLSin window functions from 19. Temporal primary keys withWITHOUT OVERLAPS, also in 18, replace a hand-built exclusion constraint with one line. - Things you get for free by upgrading: asynchronous I/O in 18, with the honest caveat that it only helps when Postgres actually goes to disk, B-tree skip scans that make composite indexes useful for more queries, and faster GIN and GiST index builds.
- Easier management:
REPACK, includingCONCURRENTLY, as the built-in answer to table bloat in 19, with the advice to tune autovacuum first and reach for it only when that is not enough, and parallel autovacuum workers in the same release. From 18, OAuth 2.0 authentication, and MD5 passwords deprecated, with a query to find who still has one. - Experimental: plan
hints, ahem, plan advice, withpg_plan_advicein 19 andEXPLAINable to generate the advice for you, plus a frank look at when you would actually want it. Then graph queries, where SQL/PGQ property graphs were reverted from 19 and Apache AGE gives you Cypher inside Postgres today. - Big data analytics:
pg_lakefor Iceberg tables and Parquet on S3 straight from Postgres,pg_duckdb, and Apache DataSketches for approximate distinct counts that are merged rather than recomputed.
Her summary: 18 is out and worth the upgrade now, 19 is worth testing now, and the extension ecosystem keeps widening what "Postgres" means.
📊 View the slides: What's New in PostgreSQL 18 & 19 (PDF)
Lightning talk: pg_lakekeeper
After the break I did a short lightning talk with no slides. I walked through pg_lakekeeper straight from its GitHub repository, because at this stage the README is the project.
Walking through the pg_lakekeeper README, the only slide deck it has
If you were at the September meetup, Lakekeeper is the Apache Iceberg REST catalog that ColdFront uses, and its catalog is already a Postgres database. pg_lakekeeper is a new project to run that catalog inside Postgres as an extension instead of next to it, first as read-only SQL views over Lakekeeper's existing schema, then with Lakekeeper itself compiled into the extension with pgrx, so that a catalog commit can share a transaction with your own SQL writes. The Phase 1 pull request is ready.
Once the questions wrapped up, we moved over to The Canons' Gait, where the conversation carried on well into the evening.
What's Next?
We are lining up the November meetup now. The date and RSVP link will be on postgres.scot as soon as they are confirmed, and you can subscribe to the calendar or the RSS feed on cloomba so you don't miss it.
We are always looking for speakers, and first-time speakers are especially welcome. Anything Postgres-related, at any length and any level of polish: drop us an email at info (at) postgres.scot.
Make sure you are following us for updates:
- PostgreSQL Events in Scotland: postgres.scot
- LinkedIn: linkedin.com/company/postgres-scot
- Mastodon: @PostgresEDI@fosstodon.org
- Bluesky: @postgres.scot
Thanks again to Elizabeth, and to the UoE for having us. See you there! 🍕




