postgresql - 在 Postgres 中暂停事务

标签 postgresql transactions suspend

我看到另一个数据库系统提供暂停transaction .当前事务保持完好无损,但在您的代码被允许与数据库一起使用以立即对行进行永久更改时被搁置。然后您可以恢复事务,使用相同的锁和其他事务保护从中断的地方继续,就好像您从未中断过一样。

例如,假设客户在交易中下订单。在那次交易中,客户注意到他们的电话号码需要更新,因此我们更改了该数据。接下来,客户决定取消尚未完成的订单。回滚订单会带来意想不到的后果,即取消电话号码更改。因此,如果我们可以:

  1. 暂停订单交易。
  2. 更新电话号码,提交给数据库。
  3. 恢复订单的交易。

有什么方法可以暂停 Postgres 中的交易吗? ?在 JDBC

最佳答案

如果一个事务不能继续,它必须回滚。

如果你的交易有一个你不知道如何进行的点,那么你的交易逻辑有缺陷,你需要重新组织它 - 要么拆分成多个交易(或子交易,又名保存点),或者把不属于事务逻辑的部分去掉。

Is there some way to suspend a transaction in Postgres?

不,没有这样的事情。并且数据完整性原则对于时间是无条件的。

关于postgresql - 在 Postgres 中暂停事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44480900/

相关文章:

python - 测试失败的 ndb 事务

laravel - 使用 Docker 容器连接到 Laravel 中的 Postgres

sql - 你能在 RDBMS 中 session 化网络日志吗

php - SELECT 然后立即 DELETE mysql 记录

c# - sqlite 只支持 1 个事务?

ios - iPhone应用程序进入前台时崩溃

sql - Postgres 使用 `split_part` 索引

sql - 过滤使用子查询计算的值

windows-8 - Win 8 应用程序从 'Project - Store' 运行时挂起证书失败,但单独运行 WACK 时通过

multithreading - Kotlin - 在单线程环境中挂起函数