DatabaseError:当前事务被中止,在事务块结束之前忽略命令?

DatabaseError: current transaction is aborted, commands ignored until end of transaction block?(DatabaseError:当前事务被中止,在事务块结束之前忽略命令?)

本文介绍了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<可能会有所帮助/a> 和 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:当前事务被中止,在事务块结束之前忽略命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:DatabaseError:当前事务被中止,在事务块结束之前忽略命令?

基础教程推荐