PostgreSQL-如何访问事务中未提交的更改?

问题描述

我在使用postgresql和rails进行交易时遇到问题。

这就是我想要做的:

因此,我决定使用一笔交易:

Model.transaction do
  Model.create(args)
  return_value = API.call
  raise ActiveRecord::Rollback if return_value == 'error'
end

在API中:

问题出在这里

  • 当我调用API时,交易尚未完成。
  • 因此创建未提交
  • 因此,当API查询数据库时,它看不到创建的新实例,并且我无法对文件进行正确的更新

我在sql标准中读到,我可以将隔离级别设置为READ UNCOMMITED,但是postgresql不允许这样做...

Postgresql的Read Uncommitted模式的行为类似于Read Committed (source

我被卡住了!你会怎么做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)