DatabaseError: current transaction is aborted, commands ignored until end of transaction block?

jack picture jack · Jun 5, 2010 · Viewed 221.2k times · Source

I got a lot of errors with the message :

"DatabaseError: current transaction is aborted, commands ignored until end of transaction block"

after changed from python-psycopg to python-psycopg2 as Django project's database engine.

The code remains the same, just don't know where those errors are from.

Answer

ʇsәɹoɈ picture ʇsәɹoɈ · Jun 5, 2010

This is what postgres does when a query produces an error and you try to run another query without first rolling back the transaction. (You might think of it as a safety feature, to keep you from corrupting your data.)

To fix this, you'll want to figure out where in the code that bad query is being executed. It might be helpful to use the log_statement and log_min_error_statement options in your postgresql server.