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 セクションから取得できます。