簡體   English   中英

postgresql 9.6 上的鎖表

[英]Lock table on postgresql 9.6

我是 postgres 管理的新手,當開發人員運行LOCK TABLE tab1; 對於PREPARED語句,postgres 使用ACCES EXCLUSIVE BY DEFAULT。 我的問題是,即使在重新啟動 postgres 和 pg_lock 之后,在視圖pg_prepared_xactpg_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.

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