Postgresql

如何在 PostgreSQL 中檢測和記錄死鎖

  • September 6, 2022

我想檢測並記錄我的 PostgreSQL 伺服器中發生的所有死鎖,最好包括查詢的詳細資訊。這在 PostgreSQL 中可能嗎?

我想要一個像 MS SQL 中提供的擴展事件這樣的解決方案。

檢測會自動進行,日誌記錄也會自動進行,除非您設置log_min_messagesfatalpanic

死鎖事件和涉及的語句被寫入 PostgreSQL 日誌(並且您不能將它們記錄到不同的文件)。該資訊通常不足以確定根本原因(因為這通常取決於同一事務中的先前語句,PostgreSQL 不保留關於這些語句的記憶體)。

理想情況下,通過查看與死鎖一起記錄的語句,您可以確定應用程序在做什麼並從那裡開始,但無法避免一些調查。

引用自:https://dba.stackexchange.com/questions/316474