---
title: "Postgres turns 30 (with cake)"
publication: "Postgres Weekly"
issue: 650
published_at: "2026-05-27"
canonical_url: "https://postgresweekly.com/issues/650"
---

Plus now() isn't actually now, graph queries on normal Postgres tables, and five locking surprises.        

#​650 — May 27, 2026 

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

Together with [![Memory Engine - Tiger Data\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_427/co_white,e_outline:7/g48lo6zcd0m5mgx8mrgv.png)](https://memory.build/?utm_source=content-syndication&utm_medium=referral&utm_campaign=postgres-weekly-newsletter)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/f47ypjpnxyepnyzpd6sy.jpg)](https://www.highgo.ca/2026/05/26/pgconf-dev-2026-why-it-remains-my-favorite-postgresql-conference/)  

[PGConf.dev 2026: Why It Remains My Favorite Postgres Conference](https://www.highgo.ca/2026/05/26/pgconf-dev-2026-why-it-remains-my-favorite-postgresql-conference/) — A fantastic trip report from last week’s [PGConf.dev](https://2026.pgconf.dev/) event in Vancouver. Along with many pictures of the fun, Cary has detailed summaries of the talks he attended, topics raised at the unconference sessions, and even what happened at a 30th birthday for Postgres, complete with cake! 

Cary Huang (High Go)  

💡 [Jeremy Schneider](https://ardentperf.com/2026/05/26/pgconf-dev-2026-trip-summary/) and [Ashutosh Bapat](https://ashutoshpg.blogspot.com/2026/05/my-reflections-on-pgconfdev-2026.html) have detailed trip reports too. _“I’m very glad that I decided to go,”_ says Jeremy.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/950bf736.png)](https://memory.build/?utm_source=content-syndication&utm_medium=referral&utm_campaign=postgres-weekly-newsletter) 

[Your Agent Needs Better Context, Not a Bigger Prompt](https://memory.build/?utm_source=content-syndication&utm_medium=referral&utm_campaign=postgres-weekly-newsletter) — Memory Engine stores engineering facts, decisions, and instructions in PostgreSQL so agents pull what's relevant before each task. No more loading the whole codebase. Semantic, keyword, temporal search. Inspectable, MCP-native. [Free to start](https://memory.build/?utm_source=content-syndication&utm_medium=referral&utm_campaign=postgres-weekly-newsletter). 

Memory Engine sponsor   

🕒 [How Soon is `now()`?](https://event-driven.io/en/how-soon-is-now-in-postgresql/) — Did you know `now()` _isn’t_ the 'current time' but when the transaction started? When that distinction matters, as it did for Oskar when a retry loop kept seeing the same frozen timestamp and never made progress, reach for `clock_timestamp()` instead. 

Oskar Dudycz  

💡 `now()` is equivalent to `transaction_timestamp()`. More on that [in the docs.](https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT)  

[5 Postgres Locking Behaviors That Trip People Up](https://dev.to/shinyakato_/5-postgresql-locking-behaviors-that-trip-people-up-4k7n) — Postgres’s lock manager is correct by design, but that correctness can still surprise you. A Postgres engineer walks through five counterintuitive locking behaviors that have caused real production outages, and how to avoid them. 

Shinya Kato   

[XID Wraparound's Equally-Evil Twin](https://richyen.com/postgres/2026/05/18/multixact_wraparound.html) — Monitoring transaction ID wraparound is a Postgres admin’s bread and butter, but _MultiXact IDs_, as consumed by concurrent row locks and foreign key checks, can fly completely under the radar. Richard explains how MXIDs accumulate, why they need freezing too, and shares queries to monitor them. 

Richard Yen  

💡 For a deeper dive into MultiXact internals and tuning, AWS has [an in-depth guide.](https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/)  

📄 [TOAST: Where Postgres Hides Big Values](https://boringsql.com/posts/postgresql-toast/) – Even more Postgres bread and butter. But crispier. Radim Marek 

📄 [How I Manage Persistent Multiplayer State Without Chaos](https://packagemain.tech/p/persistent-multiplayer-state-without) – Keeping a multiplayer game consistent with _“PostgreSQL holding the truth and Redis doing the fast work.”_ Julien Singler 

📄 [How to Profile a pgrx-Based Postgres Extension](https://rynr.dev/blog/profiling/) – [pgrx](https://github.com/pgcentralfoundation/pgrx) is a framework for building Postgres extensions in Rust. Raynor Elgie       

📰 Classifieds   

🐘 Not enough time to watch 44 Postgres talks? Use the [Ultimate Guide to POSETTE: An Event for Postgres](https://techcommunity.microsoft.com/blog/adforpostgresql/ultimate-guide-to-posette-an-event-for-postgres-2026-edition/4520246) & pick your favorites. _Microsoft | AMD._ 

--- 

🚀 [Join us live](https://us02web.zoom.us/webinar/register/WN_yYd6UvvVSnqRrmruuT9GSQ#/registration): pgEdge AI DBA Workbench walkthrough with Postgres Core Team Member Dave Page. [Register now](https://us02web.zoom.us/webinar/register/WN_yYd6UvvVSnqRrmruuT9GSQ#/registration). 

--- 

🔎 [Introducing pg_search](https://github.com/paradedb/paradedb), a Postgres extension for Elasticsearch-quality full-text, vector and hybrid search in Postgres.      

**RELEASES AND CODE:**  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nulzao0zyadpzdb8afpe.jpg)](https://docs.evokoa.com/pggraph)  

[pgGraph: Graph Database Capabilities for Normal Postgres Tables](https://docs.evokoa.com/pggraph) — An ‘early alpha’ extension that adds a graph querying layer to ordinary relational tables without a separate database or new query language (no Cypher to learn). It’s early days but has some interesting ideas. [GitHub repo.](https://github.com/Evokoa/pggraph) 

Evokoa   

🔎 [plpgsql_check 2.9: A PL/pgSQL Code Checker](https://github.com/okbob/plpgsql_check) — A specialized tool to find errors lurking in PL/pgSQL functions. 

Pavel Stehule   

[pg_parse: A Postgres-Compatible SQL Parser for Rust](https://github.com/paupino/pg_parse) — Leans on `libpg_query` so you get the same internal parse tree for SQL queries that Postgres itself does. 

Paul Mason   

- [PgQue 0.2](https://github.com/NikolayS/PgQue/releases/tag/v0.2.0) – Zero-bloat Postgres queue. One SQL file to install, `pg_cron` or `pg_timetable` to tick. v0.2 introduces first-party clients for Python, Go and TypeScript, cooperative consumers, pg_tle packaging, and more.
- 📊 [pg_statviz 1.1](https://github.com/vyruss/pg_statviz) – Minimalist extension and utility for time series analysis and visualization of Postgres internal statistics. _(We love the new logo!)_    

**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|*).
