STL_LOAD_ERRORS
すべての Amazon Redshift ロードエラーのレコードを表示します。
STL_LOAD_ERRORS には、Amazon Redshift ロードエラーの履歴が含まれます。発生する可能性があるロードエラーと説明の包括的なリストについては、「ロードエラー参照」を参照してください。
STL_LOAD_ERRORS をクエリしてエラーに関する一般的な情報を得た後で、解析エラーが発生したデータの正確な行と列などの追加的な詳細を得るために STL_LOADERROR_DETAIL をクエリします。
STL_LOAD_ERRORS はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できますが、通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。
注記
STL_LOAD_ERRORS には、メインクラスターで実行されるクエリのみが含まれます。同時実行スケーリングクラスターで実行されるクエリは含まれていません。メインクラスターおよび同時実行スケーリングクラスターの両方で実行されるクエリにアクセスするには、SYS モニタリングビュー SYS_LOAD_ERROR_DETAIL を使用することをお勧めします。SYS モニタリングビューのデータは、使いやすく理解しやすいようにフォーマットされます。
テーブルの列
列名 | データ型 | 説明 |
---|---|---|
userid | integer | エントリを生成したユーザーの ID。 |
slice | integer | エラーが発生したスライス。 |
tbl | integer | テーブル ID。 |
starttime | timestamp | UTC で表されたロードの開始時間。 |
session | integer | ロードを実行するセッションのセッション ID。 |
query | integer | クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。 |
filename | character(256) | ロードの入力ファイルへの完全なパス。 |
line_number | bigint | ロードファイル内の、エラーが発生した行の番号。JSON からの COPY の場合は、エラーのあった JSON オブジェクトの最終行の行番号。 |
colname | character(127) | エラーが発生したフィールド。 |
type | character(10) | フィールドのデータ型。 |
col_length | character(10) | 定義されている場合、列の長さ。このフィールドは、データ型に長さの制限がある場合、値を持ちます。例えば、データ型が「character(3)」の場合、この列の値は「3」になります。 |
position | integer | フィールド内でのエラーの位置。 |
raw_line | character(1024) | エラーを含む生のロードデータ。ロードデータ内のマルチバイト文字は、ピリオドで置換されます。 |
raw_field_value | char(1024) | 解析エラーを引き起こす「colname」フィールドの事前解析値。 |
err_code | integer | エラーコード。 |
err_reason | character(100) | エラーの説明。 |
is_partial | integer | COPY オペレーションの実行中に入力されたファイルが、いくつかの範囲で分割されていることを (true (1) で) 示す値。この値が false (0) の場合、入力ファイルは分割されていません。 |
start_offset | bigint | COPY オペレーション中に入力されたファイルが分割されていた場合、分割のオフセット値をバイト単位で示す値。ファイル内で不明な行番号は、「-1」として表示されます。ファイルが分割されていない場合、この値は 0 になります。 |
copy_job_id | bigint | コピージョブ識別子。0 はジョブ ID がないことを示します。 |
サンプルクエリ
次のクエリは、STL_LOAD_ERRORS を STL_LOADERROR_DETAIL に結合して、最後に実行されたロード中に発生したエラーの詳細を表示します。
select d.query, substring(d.filename,14,20), d.line_number as line, substring(d.value,1,16) as value, substring(le.err_reason,1,48) as err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and d.query = pg_last_copy_id(); query | substring | line | value | err_reason -------+-------------------+------+----------+---------------------------- 558| allusers_pipe.txt | 251 | 251 | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | ZRU29FGR | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Kaitlin | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Walter | String contains invalid or unsupported UTF8 code
次の例では、STV_TBL_PERM と共に STL_LOAD_ERRORS を使用することにより、新しいビューを作成し、EVENT テーブルにデータをロードするときに発生したエラーをそのビューで確認します。
create view loadview as (select distinct tbl, trim(name) as table_name, query, starttime, trim(filename) as input, line_number, colname, err_code, trim(err_reason) as reason from stl_load_errors sl, stv_tbl_perm sp where sl.tbl = sp.id);
次に、EVENT テーブルをロードするときに発生した最新のエラーを、次のクエリが返します。
select table_name, query, line_number, colname, starttime, trim(reason) as error from loadview where table_name ='event' order by line_number limit 1;
このクエリは、EVENT テーブルで発生した最新のロードエラーを返します。ロードエラーが発生していない場合、このクエリが返す行の数は 0 です。この例では、クエリは次のように 1 つのエラーを返します。
table_name | query | line_number | colname | error | starttime ------+-----+----+----+--------------------------------------------------------+---------------------- event | 309 | 0 | 5 | Error in Timestamp value or format [%Y-%m-%d %H:%M:%S] | 2014-04-22 15:12:44 (1 row)
並列処理を容易にするために、COPY コマンドが自動的に非圧縮でテキスト区切りされた大きなファイルデータを分割する場合は、line_number、is_partial、および start_offset 列には、その分割処理に関する情報が表示されます。(元のファイルの行番号が使用できない場合は、行番号が不定になる可能性があります。)
--scan ranges information SELECT line_number, POSITION, btrim(raw_line), btrim(raw_field_value), btrim(err_reason), is_partial, start_offset FROM stl_load_errors WHERE query = pg_last_copy_id(); --result -1,51,"1008771|13463413|463414|2|28.00|38520.72|0.06|0.07|NO|1998-08-30|1998-09-25|1998-09-04|TAKE BACK RETURN|RAIL|ans cajole sly","NO","Char length exceeds DDL length",1,67108864