功能
在执行死锁检测的节点上查询
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: 29468596191101374requesting_node: node-1requesting_trans_id: 29468595838780035blocking_trans_id: 29468595939442912req_lock_range: 000027308000000Fblk_lock_range: 000027308000000Ftimestamp: 2025-08-29 19:00:30 82requesting_sql: SELECT * FROM deadlock_test WHERE id = 15 FOR UPDATE*************************** 2. row ***************************rollback_trans_id: 29468596191101374requesting_node: node-2requesting_trans_id: 29468595939442912blocking_trans_id: 29468596191101374req_lock_range: [0000273080000010,0000273080000015)blk_lock_range: [0000273080000010,0000273080000015)timestamp: 2025-08-29 19:00:30 82requesting_sql: SELECT * FROM deadlock_test WHERE id BETWEEN 16 AND 20 FOR UPDATE*************************** 3. row ***************************rollback_trans_id: 29468596191101374requesting_node: node-3requesting_trans_id: 29468596191101374blocking_trans_id: 29468595838780035req_lock_range: 000027308000000Cblk_lock_range: [000027308000000A,000027308000000F)timestamp: 2025-08-29 19:00:30 82requesting_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