TDSTORE_PESSIMISTIC_DEADLOCK_DETAIL_INFO

最近更新时间:2025-11-18 10:10:23

我的收藏

功能

在执行死锁检测的节点上查询 TDSTORE_PESSIMISTIC_DEADLOCK_DETAIL_INFO 系统表,可以得到历史所有死锁中,构成死锁环的事务详细等待关系:包括申请锁和阻塞的事务 ID,申请和阻塞的锁范围,造成该等待关系的 SQL 运行在哪个节点上,造成该等待关系的事务正在执行的 SQL 语句。

字段说明

字段名
类型
说明
rollback_trans_id
bigint unsigned
本死锁环中,被回滚的事务的 ID。
requesting_node
varchar(64)
锁等待关系中,执行申请悲观锁的事务的 SQLEngine 节点名称。
requesting_trans_id
bigint unsigned
锁等待关系中,申请悲观锁的事务的 ID。
blocking_trans_id
bigint unsigned
锁等待关系中,已经持有悲观锁的事务的 ID。
req_lock_range
varchar(64)
锁等待关系中,申请悲观锁的事务申请的锁范围。
blk_lock_range
varchar(64)
锁等待关系中,已经持有悲观锁的事务此时持有的锁范围。
timestamp
varchar(64)
本死锁环对应的死锁事件的发生时间。
requesting_sql
varchar(128)
锁等待关系中,申请悲观锁的事务此时正在执行的 SQL 语句。

示例

输出示例:
tdsql> SELECT * FROM information_schema.tdstore_pessimistic_deadlock_detail_info \\G
*************************** 1. row ***************************
rollback_trans_id: 29468596191101374
requesting_node: node-1
requesting_trans_id: 29468595838780035
blocking_trans_id: 29468595939442912
req_lock_range: 000027308000000F
blk_lock_range: 000027308000000F
timestamp: 2025-08-29 19:00:30 82
requesting_sql: SELECT * FROM deadlock_test WHERE id = 15 FOR UPDATE
*************************** 2. row ***************************
rollback_trans_id: 29468596191101374
requesting_node: node-2
requesting_trans_id: 29468595939442912
blocking_trans_id: 29468596191101374
req_lock_range: [0000273080000010,0000273080000015)
blk_lock_range: [0000273080000010,0000273080000015)
timestamp: 2025-08-29 19:00:30 82
requesting_sql: SELECT * FROM deadlock_test WHERE id BETWEEN 16 AND 20 FOR UPDATE
*************************** 3. row ***************************
rollback_trans_id: 29468596191101374
requesting_node: node-3
requesting_trans_id: 29468596191101374
blocking_trans_id: 29468595838780035
req_lock_range: 000027308000000C
blk_lock_range: [000027308000000A,000027308000000F)
timestamp: 2025-08-29 19:00:30 82
requesting_sql: SELECT * FROM deadlock_test WHERE id = 12 FOR UPDATE
查询示例
-- 查询所有节点上,历史发生过的死锁详细信息
SELECT * FROM information_schema.tdstore_pessimistic_deadlock_detail_info \\G

-- 查询所有节点上,被回滚事务 ID 为 29468596191101374 的死锁事件的详细信息:
SELECT * FROM information_schema.tdstore_pessimistic_deadlock_detail_info WHERE rollback_trans_id = 29468596191101374 \\G