0

在处理 DAL 类型的系统时,我遇到了保存点安全问题:在进程开始时创建保存点,并在成功完成时释放或在错误时回滚。

然而,虽然这不正常,但整个事务有可能被正在运行的进程提交(或回滚)。这将删除我们试图释放/回滚的保存点。这个问题可以通过在发布/回滚周围放置另一个保存点来解决,但显然不可能出现SAVEPOINT错误的事务。

有没有办法对此进行最大努力的处理,以便保存点在存在时被释放/回滚,否则不会发生任何事情?根据In Postgres,如何获取当前定义的保存点列表?当时没有办法去 LBYL,现在似乎也没有办法了。

4

1 回答 1

-1

您可以尝试使用 pg_xlogdump,将结果批量复制到表中,然后读取该表以查找这些命令...

于 2021-01-18T16:01:09.503 回答