STL_TR_CONFLICT - Amazon Redshift (original) (raw)

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

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🔞27.898655|100234
(4 rows)

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