本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
STL_TR_CONFLICT
显示用于确定并解决与数据库表的事务冲突的信息。
当两个或更多用户正在查询和修改表中的数据行 (以使其事务无法序列化) 时,会发生事务冲突。如果事务执行一个将会破坏可序列性的语句,将会被中止并回滚。每次发生事务冲突时,Amazon Redshift 都会在包含有关被中止事务详细信息的 STL_TR_CONFLICT 系统表中写入数据行。有关更多信息,请参阅可序列化的隔离。
此视图 仅对超级用户可见。有关更多信息,请参阅 Visibility of data in system tables and views。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
xact_id | bigint | 已回滚事务的事务 ID。 |
process_id | bigint | 与回滚的事务关联的进程。 |
xact_start_ts | timestamp | 事务开始的时间戳。 |
abort_time | timestamp | 事务中止的时间。 |
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)。