IT用語集 › データベース › デッドロック(データベース)
二つのトランザクションが互いのロックを待ち合う状態。データベースはどちらか一方を中止せざるをえない。
PostgreSQL や MySQL は検出して、犠牲となる側をエラーとともにロールバックする。予防策は、常に同じ順序でテーブルをロックする、トランザクションを短くする、不要な SELECT FOR UPDATE を避けることだ。同時実行が多い負荷下で起きる古典的なバグである。