STL_LOAD_ERRORS
Exibe os registros de todos os erros de carregamento do Amazon Redshift.
STL_LOAD_ERRORS contém um histórico de todos os erros de carregamento do Amazon Redshift. Consulte Referência de erros de carregamento para obter uma lista abrangente de possíveis erros de carregamento e explicações.
Consulte STL_LOADERROR_DETAIL para obter detalhes adicionais, como a linha de dados exata e coluna onde ocorreu um erro de análise, depois de consultar STL_LOAD_ERRORS para descobrir informações gerais sobre o erro.
STL_LOAD_ERRORS permanece visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.
nota
STL_LOAD_ERRORS só contém consultas executadas em clusters principais. Ele não contém consultas executadas em clusters de escalabilidade de simultaneidade. Para acessar consultas executadas em clusters de escalabilidade principais e de simultaneidade, é recomendável usar a exibição de monitoramento SYS SYS_LOAD_ERROR_DETAIL. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender.
Colunas da tabela
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
userid | inteiro | O ID do usuário que gerou a entrada. |
slice | inteiro | A fatia onde o erro ocorreu. |
tbl | inteiro | ID da tabela. |
starttime | timestamp | O horário (em UTC) de início do carregamento. |
sessão | inteiro | O ID de sessão para a sessão executando o carregamento. |
consulta | inteiro | ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema. |
filename | character(256) | O caminho completo do arquivo de entrada para a carga. |
line_number | bigint | O número da linha no arquivo de carga com o erro. Para o comando COPY do JSON, o número da linha da última linha do objeto JSON com o erro. |
colname | character(127) | O campo com erro. |
tipo | character(10) | O tipo de dados do campo. |
col_length | character(10) | O tamanho da coluna, se aplicável. Este campo é preenchido quando o tipo de dados tem um limite de tamanho. Por exemplo, uma coluna com um tipo de dados "character(3)" conterá o valor "3". |
position | inteiro | A posição do erro no campo. |
raw_line | character(1024) | Os dados de carga brutos que contêm o erro. Os caracteres multibyte nos dados de carga são substituídos por um ponto. |
raw_field_value | char(1024) | O valor da análise preliminar para o campo "colname" que leva ao erro de análise. |
err_code | inteiro | Código de erro. |
err_reason | character(100) | A explicação para o erro. |
is_parcial | inteiro | Valor que, se true (1), indica que o arquivo de entrada é dividido em intervalos durante uma operação COPY. Se esse valor for false (0), o arquivo de entrada não será dividido. |
start_offset | bigint | Valor que, se o arquivo de entrada for dividido durante uma operação COPY, indica o valor de deslocamento da divisão (em bytes). Se o número da linha no arquivo for desconhecido, o número da linha será -1. Se o arquivo não estiver dividido, esse valor será 0. |
copy_job_id | bigint | O identificador do trabalho de cópia. 0 indica que não há nenhum identificador de trabalho. |
Consultas de exemplo
A consulta a seguir une as tabelas STL_LOAD_ERRORS e STL_LOADERROR_DETAIL para exibir os detalhes dos erros que ocorreram durante a carga mais recente.
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
O exemplo a seguir usa a tabela STL_LOAD_ERRORS com a STV_TBL_PERM para criar uma exibição nova e, em seguida, usa essa exibição para determinar que erros ocorreram durante o carregamento de dados na tabela 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);
Em seguida, a consulta abaixo retorna o último erro ocorrido durante o carregamento na tabela 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;
A consulta retorna o último erro de carga ocorrido na tabela EVENT. Se não houver erros de carga, a consulta retorna zero linhas. Neste exemplo, a consulta retorna um único erro:
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)
Nos casos em que o comando COPY divide automaticamente dados de arquivos grandes, descompactados e delimitados por texto para facilitar o paralelismo, as colunas line_number, is_parcial e start_offset exibem as informações relativas às divisões. (O número da linha pode ser desconhecido nos casos em que o número da linha do arquivo original não está disponível.)
--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