应用程序可以处理死锁,但我一直在努力减少那些在填满我的日志文件时发生的死锁。还有一个事务会出现常规的死锁,我不知道如何避免它。REPLACE INTO table_b ( ... )4. INSERT INTO table_a (id,...)虽然重试事务可以修复死锁,但最后的insert通常会出现死锁。这种模式导致死锁的原因是什么?我能做些什么来减少这种情况的发生?
然而,PostgreSQL有时会检测到死锁和受影响的客户端(S)崩溃。纵观日志记录,我相信这些都是在这样的顺序下发生的:客户端A:完成模式创建事务客户端A:使用模式(从视图中选择) 的新事务
客户端A和B现在处于死锁状态日志并不是100%清晰的,而且我无法确定地再现这一点,但情况似乎是这样的:客户机A试图从模式定义的视图中SELECT,但是由于客户机B试图在模式脚本中重新创建该视图(CREATE OR REPLACEVIEW),所以它是死锁的。或者,是否还有其他解