Keeping our database fast at Atlas was part of my job — alongside writing code and shipping features. And a big chunk of that job was unglamorous: chasing slow queries, figuring out why the system dragged, asking the same handful of questions over and over.

Which indexes are we actually using? How many are just bloat? Are we vacuuming the tables that need it? Which table is quietly making every write more expensive?

I'd written SQL to answer all of it. The queries worked fine. But running them one at a time, reading the output, holding the whole picture in my head — every investigation started from zero. So I built a small tool to do it for me: a PostgreSQL Index Monitor.

This post isn't really about the tool. It's about the thing I wish someone had told me earlier: Postgres is already collecting everything you need to understand its own performance. You don't need an APM agent, an extension, or a paid dashboard to get started. You need to know which system views to read and how to turn them into decisions.

Let me show you.