Ok, ho appena risolto.
In qualche modo abbiamo avuto un LOCK sospeso per una query che è stata uccisa in php, ma non è mai uscita dal processo su Postgres da pochi giorni.
Quindi, per tutti coloro che sperimentano gli stessi problemi, controlla LOCKS:
SELECT relation::regclass, * FROM pg_locks WHERE NOT GRANTED;
E inoltre, se ci sono connessioni aperte da qualche giorno:
select * from pg_stat_activity order by query_start limit 10;