STL_TR_CONFLICT - Amazon Redshift

STL_TR_CONFLICT

データベーステーブルのトランザクション競合を認識し、解決するための情報を表示します。

2 人以上のユーザーがクエリとデータ行の変更を実行し、これらのトランザクションを直列化できない場合、トランザクションの競合が発生します。直列化可能性を損なうステートメントを実行するトランザクションは停止され、ロールバックされます。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)

テーブル ID は、連続性違反 (エラー 1023) のエラーメッセージの DETAIL セクションから取得できます。