如何最好地确定postgres上死锁所涉及的查询



我正在开发GCP CloudSQL postgres v12.11,并在postgres日志中看到一些死锁。但是,没有任何查询信息。纵观postgres文档,似乎确实有很多选项可以识别查询。打开所有查询的日志记录实际上不是一个选项。关于如何在postgres上识别死锁中的查询的任何建议都将不胜感激。

除非禁用错误日志记录,否则死锁期间发生的查询都会被记录下来。没有其他地方可以找到这些信息。

但这些查询还不够——您必须从所涉及的事务中找出所有语句。此信息只能通过记录所有语句来获得,这通常不是一个选项。

你将不得不在你的应用程序代码中进行侦查。一个有帮助的想法是在查询中添加注释,指示正在处理的事务。

最新更新