簡體   English   中英

Postgresql:如果存在則回滾到保存點

[英]Postgresql: rolling back to savepoint if it exists

在處理 DAL 類型的系統時,我遇到了保存點安全問題:在進程開始時創建保存點,並在成功完成時釋放或在錯誤時回滾。

然而,雖然這不正常,但整個事務有可能被正在運行的進程提交(或回滾)。 這將刪除我們試圖釋放/回滾的保存點。 這個問題可以通過在發布/回滾周圍放置另一個保存點來解決,但顯然不可能SAVEPOINT錯誤的事務。

有沒有辦法對此進行最大努力的處理,以便保存點在存在時被釋放/回滾,否則不會發生任何事情? 根據In Postgres,如何獲取當前定義的保存點列表? 當時沒有辦法去 LBYL,現在似乎也沒有辦法了。

您可以嘗試使用 pg_xlogdump,將結果批量復制到表中,然后讀取該表以查找這些命令...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM