The upcoming Postgres 19 is set to include extra EXPLAIN info in several places: 🚦 An "IO" parameter (async info) 💡 Generated and supplied hint info (pg_plan_advice) ♻️ Memoize estimate fields 🪵 WAL full page image bytes We've added support for them all in @pgmustard.com 🎉
pgMustard
@pgmustard.com
A visualisation tool for Postgres explain analyze that also gives performance advice. Posts by @michristofides.com. Site: https://pgmustard.com/
pgMustard Pro now includes 1,000 API credits 🎉 Bulk-analyse plans, plug into your LLM workflows, or build something we haven't thought of yet. Docs: pgmustard.com/docs#api
New blog post: Read efficiency issues in Postgres queries If you've got a query that's slowly degrading in performance, you might have a read efficiency issue. The root cause could be table bloat, index bloat, or data locality degradation. www.pgmustard.com/blog/read-ef...
Read efficiency issues in Postgres queries - pgMustard
A lot of the time in database land, our queries are I/O constrained. As such, performance work often involves reducing the number of page reads. Indexes are a prime example, but they don’t solve every...
pgmustard.com
Our Read Efficiency tips are now more efficient to read! 📝 Better wording, mostly for clarity 🔬 More specific to the scan type, and therefore shorter in most cases 🌟 Improved scoring, especially for Bitmap Heap Scans More details: www.pgmustard.com/changelog
If you have any Postgres performance issues, I'd love to hear about them and try to help: pgmustard.com/office-hours
Office hours - pgMustard
For January, I’m offering a private free call (up to 1 hour) to discus anything Postgres performance related.
pgmustard.com
If pgMustard has made your life easier this year, we'd love a review on G2! It does take a few minutes, but we like that it is verified, and are already using the feedback to shape what we work on next. www.g2.com/products/pgm...
g2.com
Bad row count estimates are a common cause of slow queries. We've had a tip for them in pgMustard from the start, but we've just finished a revamp of it, mostly to make the advice in several common cases clearer. We also now report the ratios a little more naturally.
It was a very small sample size, but we were impressed with the number of people running newer Postgres versions in our recent poll 🙌
We've revamped our "Operation on Disk" tips ✨ * Made them clearer * Made them more succinct (in most cases) * Improved the scoring * Mention hash_mem_multiplier (when relevant) * Show "Operation in Memory" in more cases, with the memory used * Updated the linked blog post
I think @pgmustard.com is great for actionable recommendations for EXPLAIN results. Still helps me a ton to figure things out to this day.
What are your favorite PostgreSQL-specific resources to use as part of providing some technical mentorship to a junior developer?
Which major version of PostgreSQL are you (primarily) running in production?
We're in the process of updating our EXPLAIN glossary for Postgres 18. This change was particularly satisfying 🎉
Great write-up by Michael Christofides from @pgmustard.com www.pgmustard.com/blog/what-do... > It turns out that for the general case, boundary conditions and NULLs (of course!) always need to be considered, so you can get one or two extra Index Searches when these can’t be ruled out #postgresql
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.
pgmustard.com
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.
pgmustard.com
The next chapter in our 7-year battle with EXPLAIN formatting: new demo videos showing how to get nicely formatted query plans in your tool of choice. www.youtube.com/@pgMustard
Check out the interview with Supporter sponsor @pgmustard.com posted at 2025.pgday.uk/sponsor-inte...
Interview with pgMustard – PGDay UK 2025
Interview with pgMustard – PGDay UK 2025
2025.pgday.uk
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. 💛
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...