[英]Lock table on postgresql 9.6
我是 postgres 管理的新手,當開發人員運行LOCK TABLE tab1;
對於PREPARED
語句,postgres 使用ACCES EXCLUSIVE
BY DEFAULT。 我的問題是,即使在重新啟動 postgres 和 pg_lock 之后,在視圖pg_prepared_xact
和pg_locks
中,表中的鎖在一周后仍然存在,如下所示:
vXID mode
-1/192836 AccessExclusiveLock
Name DATABASE Owner XID prepared at
db1 postgres 192836 20-07-2021
我會知道為什么 LOCK 還在這里? 以及如何解決? vXID 中的 -1 是什么意思? 因為我什至無法在tab1
上顯示我的數據
帶有 PREPARED 語句
准備好的事務和准備好的語句是非常不同的東西。 你在這里擁有的是一個准備好的交易。 幸存的重啟是什么准備交易的。 您需要在 pg_prepared_xacts 中找到它的“gid”,然后手動提交或 回滾。 如果您不是有意使用准備好的事務,您應該設置 max_prepared_transactions =0,這樣就不會再發生。 如果您有意使用它們,則需要學習如何處理它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.