当两个或多个事务都锁定了资源,并试图失掉已被其余事务锁定的资源时,就会出现死锁。在反常状况下,事务 A 锁定资源 A,事务 B 锁定资源 B。在死锁状况下,事务 A 将尝试锁定资源 B。这反上来又使其进入期待形式,由于事务 B 曾经锁定了资源 B。这样,两个事务都会锁定彼此的资源。当出现死锁时,PostgreSQL 会敞开其中一个触及的事务,并将其从期待队列中删除,以让其余事务继续其上班。
© 版权声明
当两个或多个事务都锁定了资源,并试图失掉已被其余事务锁定的资源时,就会出现死锁。在反常状况下,事务 A 锁定资源 A,事务 B 锁定资源 B。在死锁状况下,事务 A 将尝试锁定资源 B。这反上来又使其进入期待形式,由于事务 B 曾经锁定了资源 B。这样,两个事务都会锁定彼此的资源。当出现死锁时,PostgreSQL 会敞开其中一个触及的事务,并将其从期待队列中删除,以让其余事务继续其上班。