首页 > 解决方案 > 当另一个事务在当前事务之前提交时,PostgreSQL 会回滚吗?

问题描述

我有几个问题,请多多包涵。

1-假设我们试图借记“John”并贷记“Ann”,我们同时收到两个请求,我们首先检查余额是否大于0,然后进行计算并最终提交事务,PostgreSQL 在使用事务时是否会在另一个事务提交时回滚到事务的开头?

2- PostgreSQL 中同一行上的事务是否一一发生?想象一下,我SELECT从表 A 中 ing,然后INSERT在表 B 中,所有事务都等待SELECT从 A 一个接一个吗?如果没有,是否有可能在 PostgreSQL 中实现这一点?(我听说 PostgreSQL 中有不同类型的事务,你也可以锁定一行)

3-事务在 PostgreSQL 中是如何工作的,他们最后是否会仔细检查自己以验证一切是否相同?如果是的话,当你添加code logic添加时,比如在你的代码中计算,它最后如何仔细检查自己?

4- 从A账户转账到B账户时,需要锁一行吗?还是在检查代码中的余额时进行交易以确保余额确实是您得到的东西并防止双重支出?

标签: databasepostgresqltransactions

解决方案


推荐阅读