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 timestamp 交易開始時的時間戳記 (UTC)。
abort_time timestamp 交易停止時的時間戳記 (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)。