命令被忽略直到事务块结束

命令被忽略直到事务块结束

本文介绍了DatabaseError:当前事务被中止,命令被忽略直到事务块结束?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到了很多关于消息的错误:

I got a lot of errors with the message :

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

从 python-psycopg 改为 python-psycopg2 作为 Django 项目的数据库引擎之后.

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.

推荐答案

这是 postgres 在查询产生错误并且您尝试运行另一个查询而不先回滚事务时所做的.(您可能会将其视为一项安全功能,以防止您损坏数据.)

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.)

要解决此问题,您需要弄清楚错误查询在代码中的哪个位置被执行.使用 log_statement 和 log_min_error_statement postgresql 服务器中的选项.

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.

这篇关于DatabaseError:当前事务被中止,命令被忽略直到事务块结束?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-24 12:07