当前位置: 首页 > 面试题库 >

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

淳于功
2023-03-14
问题内容

消息有很多错误:

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

从python-psycopg更改为python-psycopg2作为Django项目的数据库引擎。

代码保持不变,只是不知道这些错误来自何处。


问题答案:

当查询产生错误并且你尝试运行另一个查询而不先回滚事务时,这就是postgres所做的。(你可能会认为这是一项安全功能,可以防止数据被破坏。)

要解决此问题,你将要弄清楚错误查询在代码中的哪个位置执行。在你的PostgreSQL服务器中使用log_statement和log_min_error_statement选项可能会有所帮助。



 类似资料:
  • 我在服务器中看到以下(截断的)stacktrace。JBoss 7.1.1最终版日志文件: 检查Postgres日志文件会显示以下语句: 我使用的是JBoss 7.1.1 Final附带的Infinispan,即5.1.2。最终的 这就是我认为正在发生的事情: Infinispan尝试运行选择计数(*) 语句,以查看中是否有任何记录 这个错误意味着什么,以及如何解决它?

  • 问题内容: 我使用GeoDjango进行了第一步,我正在寻找更好的选项来检查错误的sql语句。 到目前为止,我只是想在我的postgresql表中保护lng + lat点。 该模型定义为: 在我看来,我尝试执行以下命令 但是当我尝试保存表单时收到以下错误: 异常类型:InternalError异常值:当前事务中止,命令被忽略,直到事务块结束 此错误的原因是什么? 我认为sql语句可能有问题,但是检

  • 在我们的一个项目中,我们遇到了一个问题,Spring忽略了事务注释,然后失败了,出现了以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2018-09-13 15:05:18406错误[主]组织。springframework。靴子SpringApplication应用程序运行失败组织。springframework。道。Inva

  • 问题内容: 我需要从存储过程中写入日志表。现在,此日志信息必须能够在回滚过程中幸免。 我知道以前曾问过这个问题,但是我的情况有所不同,在这些问题中找不到我的问题的答案。 当存储过程中没有错误时,事情就很简单了,日志表中的条目就在那里。 当有错误时,事情就变得复杂了。 在该过程中,我可以在catch中进行回滚,然后将数据插入日志表,我知道并且我已经在这样做了。 但是问题是当存储过程这样调用时: 我知

  • 本文向大家介绍emacs 中止当前命令,包括了emacs 中止当前命令的使用技巧和注意事项,需要的朋友参考一下 示例 通常,您会进入一种状态,其中正在进行部分键入的命令序列,但是您想中止它。您可以使用以下任一键绑定中止它: C-g EscEscEsc

  • 主要内容:1. 概述,2. Transaction,3. TransactionFactory1. 概述 MyBatis 对数据库中的事务进行了抽象,其自身提供了相应的事务接口和简单实现。 在很多场景中,MyBatis 会与 Spring 框架集成,并由 Spring 框架管理事务 2. Transaction org.apache.ibatis.transaction.Transaction ,事务接口。代码如下: 2.1 JdbcTransaction org.apache.ibati