Nós mesmos corrigimos isso:
O problema era que não desligamos nosso serviço de segundo plano, que fazia várias transações enquanto atualizávamos nosso software e o banco de dados. Essas transações poluíram o banco de dados. Encontramos essas transações usando este snippet:
SELECT pid, age(query_start, clock_timestamp()), usename, query,state
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
Depois de liberar nossa fila de redis e reiniciar os serviços em segundo plano, a CPU precisa de até 2% novamente.