Michael Christofides
banner
michristofides.com
Michael Christofides
@michristofides.com
Half of the team behind @pgmustard.com and (a different) half of the team behind Postgres FM
Reposted by Michael Christofides
Today is the day -- end-of-life for Postgres 13

www.postgresql.org/support/vers...
November 14, 2025 at 1:49 AM
Reposted by Michael Christofides
Explain is a powerful tool in Postgres.

If you care about performance, get comfortable running `explain` and `explain analyze` commands regularly, and learn how to interpret its output.

This blog is a great intro.

www.depesz.com/2013/04/16/e...
November 4, 2025 at 2:59 PM
Reposted by Michael Christofides
I'm not sure @ankane.bsky.social is human - maybe some kind of open source being from the future 😂
I said to a colleague - "we'll see, but it's ankane, so it's entirely possible it'll get done soon". Less than an hour later, it was updated 🤯
November 12, 2025 at 1:18 AM
Reposted by Michael Christofides
New blog post: "What do the new Index Searches lines in EXPLAIN mean?"

In Postgres 18 you'll start seeing things like "Index Searches: 1" on each of your index scans. We looked into what they mean, and how that information can be helpful.

www.pgmustard.com/blog/what-do...
What do the new Index Searches lines in EXPLAIN mean? - pgMustard
In Postgres 18 you’ll now see “Index Searches” lines in EXPLAIN ANALYZE output. If like me you were wondering what those mean exactly, you’re in the right place.
www.pgmustard.com
November 10, 2025 at 1:23 PM
Reposted by Michael Christofides
2 million indexes! You’ve gotta listen to this in context of this Gadget episode with Harry — but that’s a wild figure! 😳

postgres.fm/episodes/gad...
Postgres FM | Gadget's use of Postgres
Nik and Michael are joined by Harry Brundage from Gadget to talk about their recent zero-downtime major version upgrade, how they use Postgres more generally, their dream database, and some challen...
postgres.fm
September 28, 2025 at 7:18 PM
Reposted by Michael Christofides
Sometimes the trick to optimizing database queries is simple: Don't do stupid stuff.
August 28, 2025 at 2:28 PM
Reposted by Michael Christofides
The upcoming Postgres 18 is set to include some nice improvements to EXPLAIN:

* BUFFERS on by default with ANALYZE 🎉
* Fractional "actual rows" (huge in some cases)
* Quite a few new fields (including the very cool Index Searches)

We've now added support for all of them. 💛
August 20, 2025 at 2:40 PM
Reposted by Michael Christofides
Amazing post on making Postgres slower (yes, slower!) on purpose. byteofdev.com/posts/making... #postgres #postgresql Favorite bit: "random_page_cost = 1e300" LOL! Well done
Making Postgres 42,000x slower because I am unemployed
As an respectable unemployed person must do, I tried to make Postgres as slow as possible
byteofdev.com
July 28, 2025 at 2:51 PM
Reposted by Michael Christofides
Really non-trivial case with MultiXacts and brilliant RCA and level of transparency from the Metronome team – great example of what to do with new types of #PostgreSQL incidents!

enjoyed discussion a lot! www.youtube.com/watch?v=9KoP...
MultiXact member space exhaustion | Postgres.FM 151 | #PostgreSQL #Postgres podcast
YouTube video by PostgresTV
www.youtube.com
July 18, 2025 at 6:43 PM
Reposted by Michael Christofides
PostgresFM with Sugu, co-creator of Vitess, originally created to shard MySQL in YouTube, and then used by GitHub, Pinterest, Slack, Shopify, etc. Discussed his work at Supabase on Multigres, sharding for PostgreSQL. Enjoyed a lot!! Take it to a long hike or drive: youtu.be/KOepJivmWTg?...
Multigres | Postgres.FM 150 | #PostgreSQL #Postgres podcast
YouTube video by PostgresTV
youtu.be
July 11, 2025 at 4:13 PM
Reposted by Michael Christofides
3 years of PostgresFM 🥳

And now, @michristofides.com being back from 2-week break, and we've recorded our 150th episode

A very interesting one, don't miss -- this Friday
July 9, 2025 at 1:32 AM
Reposted by Michael Christofides
Postgres Meetup for All tomorrow www.meetup.com/postgres-mee...
July 8, 2025 at 3:58 PM
Reposted by Michael Christofides
Amazing talk by Alexander Kukushkin about caveats and myths and truths of sync replication in Postgres.

Everyone who works or plans to work with sync replication must watch it!

www.youtube.com/watch?v=PFn9...
Myths and Truths about Synchronous Replication in PostgreSQL | POSETTE: An Event for Postgres 2025
YouTube video by Microsoft Developer
www.youtube.com
July 6, 2025 at 11:35 PM
Reposted by Michael Christofides
There are a couple of online #PostgreSQL events today that look like they'll be great:

16:00 UTC — 10 Costly Database Performance Mistakes (and How to Fix Them) with Andy Atkinson www.meetup.com/postgres-mee...

19:00 UTC — 12 years of Postgres Weekly with Peter Cooper aka.ms/TalkingPostg...
June 18, 2025 at 2:16 PM
Reposted by Michael Christofides
Hello, Bluesky!
June 18, 2025 at 2:15 PM
Reposted by Michael Christofides
I have the great pleasure to announce the release of PostgreSQL Mistakes and How to Avoid Them in all formats! 🎉 To celebrate, @manningbooks.bsky.social is offering a Deal of the Day: 45% off my book and other selected titles! 👉 mng.bz/WrEx

#PostgreSQL #Postgres #TechBooks #Database #OpenSource
Deal of the Day
Manning is an independent publisher of computer books, videos, and courses.
mng.bz
June 12, 2025 at 8:23 AM
Next week (14th) I'll be joining the excellent Postgres Meetup for All to demo and discuss troubleshooting slow queries using EXPLAIN and external tools: www.meetup.com/postgres-mee...

If you or your team could do with an intro or refresher, it would be great to see you there!
Postgres Meetup for All | Meetup
Calling all Postgres enthusiasts! Do you work with Postgres? Do you want to be more involved in the community? Share your learnings? Join our vibrant online community dedicated to PostgreSQL, the worl...
www.meetup.com
May 7, 2025 at 4:21 PM
Reposted by Michael Christofides
I'm proud to announce that I'm teaching a 1-day Postgres performance tuning class at the PASS Summit this year! Registration is open now, and if you register before May 13, you save big with early bird rates. passdatacommunitysummit.com/sessions/1103
All sessions - PASS Data Community Summit
passdatacommunitysummit.com
April 29, 2025 at 8:49 PM
Proud to be sponsoring PGDay UK. It’s lovely having a local event and it’s been great each time I’ve attended. It’ll be in London again on September 9th. Let me know if you’ll be there too!

P.s. they’re currently looking for speakers (and sponsors!)
Welcome pgMustard as a Supporter sponsor of PGDay UK 2025 in London!

2025.pgday.uk/sponsors/

#postgresql #pgdayuk #london
April 7, 2025 at 11:02 AM
Reposted by Michael Christofides
Tomas Vondra is one of #PostgreSQL hackers with strong focus on performance and query optimization. Enjoyed this session a lot

📺 www.youtube.com/watch?v=hyMH...
🎙️ postgres.fm/episodes/per...

It was inspired by this talk: "Where do performance cliffs come from?" www.youtube.com/watch?v=UzdA...
Performance cliffs | Postgres.FM 140 | #PostgreSQL #Postgres podcast
YouTube video by PostgresTV 💙💛
www.youtube.com
April 4, 2025 at 1:36 PM
While editing a podcast episode, I cringed twice whilst being confidently wrong about things. I need to work on that, or I need to stop criticising LLMs (or both!)
March 12, 2025 at 10:02 PM
After 6 years of hoping someone else would write this, I've finally succumbed to the little marketing devil on my shoulder and written about Postgres query plan visualization tools.

It's hard to imagine someone more biased about any topic, but here goes: www.pgmustard.com/blog/postgre...
www.pgmustard.com
March 5, 2025 at 12:55 PM
Reposted by Michael Christofides
It's incredibly common to see a Postgres query plan with all scans using indexes, and to think it's probably already optimal.

I've written a new post for the pgMustard blog about why that often isn't the case, and some things you can look out for:

www.pgmustard.com/blog/index-s...
Just because you’re getting an index scan, doesn't mean you can’t do better! - pgMustard
An issue I often see folks missing when reviewing query plans, is that they see that all of their scans involve indexes and they think that the query is likely already as fast (or efficient) as it can...
www.pgmustard.com
February 5, 2025 at 6:00 PM
I'm honoured to have been added to the PostgreSQL Contributors list, along with Nikolay Samokhvalov! www.postgresql.org/community/co...

Thank you to everyone who makes Postgres what it is. I'm chuffed to be recognised as playing a small part in helping such a wonderful project ☺️✌️🐘
PostgreSQL: Contributor Profiles
www.postgresql.org
January 27, 2025 at 9:26 AM