Aca*_*arX 5 database postgresql transactions libpq
我是PostgreSQL / libpq的新手。因此,请帮助我澄清我的困惑:
假设我从执行“ START TRANSACTION”开始并进行了正确的错误检查(PQresultStatus(res)!= [proper_success_value]),如果插入后出现问题,是否需要执行“ ROLLBACK”?例如:
在这种情况下,我是否需要在“ UPDATE”失败后执行“ ROLLBACK”?另外,如果“ ROLLBACK”也失败怎么办?
通过阅读手册可以最好地理解这一点:
https://www.postgresql.org/docs/current/static/tutorial-transactions.html
ROLLBACK TO 是重新获得对由于错误而被系统置于中止状态的事务块的控制的唯一方法,而不是完全回滚并重新开始。
回滚应该不会失败。
交易处于中止状态,这意味着您无法在该交易中继续做任何事情。您可以使用保存点来恢复该事务,但除此之外,您所能做的就是回滚。
| 归档时间: |
|
| 查看次数: |
2589 次 |
| 最近记录: |