Jag hade ett liknande problem. Det berodde på att vissa transaktioner fastnade och körde länge. CPU-användningen låg alltså på 100 % hela tiden. Följande kommando hjälpte till att ta reda på vilka anslutningar som kördes längst:
SELECT max(now() - xact_start) FROM pg_stat_activity
WHERE state IN ('idle in transaction', 'active');
Detta kommando visar tiden sedan när en anslutning körs. Denna tid bör inte vara längre än en timme. Så att döda anslutningen som var igång sedan länge eller fastnat vid något tillfälle, fungerade för mig. Jag följde det här inlägget för att övervaka och lösa mitt problem. Inlägg innehåller många användbara kommandon för att övervaka den här situationen.