STL_TR_CONFLICT - Amazon Redshift

STL_TR_CONFLICT

显示用于确定并解决与数据库表的事务冲突的信息。

当两个或更多用户正在查询和修改表中的数据行(以使其事务无法序列化)时,会发生事务冲突。如果事务运行一个将会破坏可序列性的语句,将会被停止并回滚。每次发生事务冲突时,Amazon Redshift 都会在包含有关被取消事务详细信息的 STL_TR_CONFLICT 系统表中写入数据行。有关更多信息,请参阅 可序列化的隔离

STL_TR_CONFLICT 仅对超级用户可见。有关更多信息,请参阅 系统表和视图中的数据可见性

此表中的部分或全部数据也可以在 SYS 监控视图 SYS_TRANSACTION_HISTORY 中找到。SYS 监控视图中的数据经过格式化处理,便于使用和理解。我们建议您使用 SYS 监控视图进行查询。

表列

列名称 数据类型 描述
xact_id bigint 已回滚事务的事务 ID。
process_id bigint 与回滚的事务关联的进程。
xact_start_ts 时间戳 事务开始的时间戳 (UTC)。
abort_time 时间戳 事务停止的时间戳 (UTC)。
table_id bigint 发生冲突的表的表 ID。

示例查询

要返回有关涉及某一特定表的冲突的信息,请运行指定了表 ID 的查询:

select * from stl_tr_conflict where table_id=100234 order by xact_start_ts; xact_id|process_| xact_start_ts | abort_time |table_ |id | | |id -------+--------+--------------------------+--------------------------+------ 1876 | 8551 |2010-03-30 09:19:15.852326|2010-03-30 09:20:17.582499|100234 1928 | 15034 |2010-03-30 13:20:00.636045|2010-03-30 13:20:47.766817|100234 1991 | 23753 |2010-04-01 13:05:01.220059|2010-04-01 13:06:06.94098 |100234 2002 | 23679 |2010-04-01 13:17:05.173473|2010-04-01 13:18:27.898655|100234 (4 rows)

您可以从针对可串行性冲突的错误消息的 DETAIL 部分中获取表 ID(错误 1023)。