Muy buen tema. En mi experiencia, los índices compuestos son poderosos pero hay que usarlos con cabeza. La regla de oro es: el orden de las columnas importa (para igualdad, luego rango, luego ordenación). Si tienes WHERE status = ? AND created_at > ?, un índice (status, created_at) funciona bien, pero (created_at, status) no será tan eficiente para esa consulta. Además, revisa si los índices se están usando realmente con pg_stat_user_indexes y elimina los que no se usen. No es tanto el número, sino la redundancia.