To właśnie robi postgres, gdy zapytanie generuje błąd i próbujesz uruchomić inne zapytanie bez uprzedniego wycofania transakcji. (Możesz myśleć o tym jako o funkcji bezpieczeństwa, która zapobiega uszkodzeniu danych.)
Aby to naprawić, będziesz chciał dowiedzieć się, gdzie w kodzie jest wykonywane to złe zapytanie. Pomocne może być użycie opcji log_statement i log_min_error_statement na serwerze postgresql.