STL_LOAD_COMMITS
Retorna informações para rastrear ou solucionar problemas com uma carga de dados.
Essa visualização registra o progresso de cada arquivo de dados à medida que é carregado em uma tabela de banco de dados.
STL_LOAD_COMMITS 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_COMMITS contém apenas as consultas executadas nos principais clusters provisionados. Ele não contém consultas executadas em clusters de escalabilidade simultânea ou em namespaces sem servidor. Para acessar os planos de explicação das consultas executadas em clusters principais, clusters de escalabilidade simultânea e namespaces sem servidor, recomendamos usar a visualização de monitoramento SYS SYS_LOAD_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 | integer | O ID do usuário que gerou a entrada. |
consulta | integer | ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema. |
slice | integer | A fatia carregada para essa entrada. |
nome | character (256) | O valor definido pelo sistema. |
filename | character(256) | O nome do arquivo que está sendo rastreado. |
byte_offset | integer | Essas informações são somente para uso interno. |
lines_scanned | integer | O número de linhas pesquisadas na varredura do arquivo carregado. Esse número pode não corresponder ao número de linhas que são realmente carregadas. Por exemplo, a carga pode fazer a varredura mas tolerar um certo número de registros ruins com base na opção MAXERROR no comando COPY. |
erros | integer | Essas informações são somente para uso interno. |
curtime | timestamp | O horário em que essa entrada foi atualizada pela última vez. |
status | integer | Essas informações são somente para uso interno. |
file_format | character(16) | Formato do arquivo carregado. Os valores possíveis são:
|
is_parcial | integer | 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). Cada divisão de arquivo é registrada como um registro separado com o valor start_offset correspondente. 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
O exemplo a seguir retorna os detalhes da última operação COPY.
select query, trim(filename) as file, curtime as updated from stl_load_commits where query = pg_last_copy_id(); query | file | updated -------+----------------------------------+---------------------------- 28554 | s3://dw-tickit/category_pipe.txt | 2013-11-01 17:14:52.648486 (1 row)
A consulta a seguir contém as entradas de uma carga recente de tabelas para o banco de dados TICKIT:
select query, trim(filename), curtime from stl_load_commits where filename like '%tickit%' order by query;
query | btrim | curtime -------+---------------------------+---------------------------- 22475 | tickit/allusers_pipe.txt | 2013-02-08 20:58:23.274186 22478 | tickit/venue_pipe.txt | 2013-02-08 20:58:25.070604 22480 | tickit/category_pipe.txt | 2013-02-08 20:58:27.333472 22482 | tickit/date2008_pipe.txt | 2013-02-08 20:58:28.608305 22485 | tickit/allevents_pipe.txt | 2013-02-08 20:58:29.99489 22487 | tickit/listings_pipe.txt | 2013-02-08 20:58:37.632939 22593 | tickit/allusers_pipe.txt | 2013-02-08 21:04:08.400491 22596 | tickit/venue_pipe.txt | 2013-02-08 21:04:10.056055 22598 | tickit/category_pipe.txt | 2013-02-08 21:04:11.465049 22600 | tickit/date2008_pipe.txt | 2013-02-08 21:04:12.461502 22603 | tickit/allevents_pipe.txt | 2013-02-08 21:04:14.785124 22605 | tickit/listings_pipe.txt | 2013-02-08 21:04:20.170594 (12 rows)
O fato de um registro ser gravado no arquivo de log para esta visualização do sistema não significa que o carregamento foi confirmado com êxito como parte de sua transação contida. Para verificar as confirmações de carregamento, consulte a visualização STL_UTILITYTEXT e procure o registro COMMIT que corresponde a uma transação COPY. Por exemplo, essa consulta une as tabelas STL_LOAD_COMMITS e STL_QUERY com base em uma subconsulta com a tabela STL_UTILITYTEXT:
select l.query,rtrim(l.filename),q.xid from stl_load_commits l, stl_query q where l.query=q.query and exists (select xid from stl_utilitytext where xid=q.xid and rtrim("text")='COMMIT'); query | rtrim | xid -------+---------------------------+------- 22600 | tickit/date2008_pipe.txt | 68311 22480 | tickit/category_pipe.txt | 68066 7508 | allusers_pipe.txt | 23365 7552 | category_pipe.txt | 23415 7576 | allevents_pipe.txt | 23429 7516 | venue_pipe.txt | 23390 7604 | listings_pipe.txt | 23445 22596 | tickit/venue_pipe.txt | 68309 22605 | tickit/listings_pipe.txt | 68316 22593 | tickit/allusers_pipe.txt | 68305 22485 | tickit/allevents_pipe.txt | 68071 7561 | allevents_pipe.txt | 23429 7541 | category_pipe.txt | 23415 7558 | date2008_pipe.txt | 23428 22478 | tickit/venue_pipe.txt | 68065 526 | date2008_pipe.txt | 2572 7466 | allusers_pipe.txt | 23365 22482 | tickit/date2008_pipe.txt | 68067 22598 | tickit/category_pipe.txt | 68310 22603 | tickit/allevents_pipe.txt | 68315 22475 | tickit/allusers_pipe.txt | 68061 547 | date2008_pipe.txt | 2572 22487 | tickit/listings_pipe.txt | 68072 7531 | venue_pipe.txt | 23390 7583 | listings_pipe.txt | 23445 (25 rows)
Os exemplos a seguir destacam os valores de coluna is_partial e start_offset.
-- Single large file copy without scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 1 -- Single large uncompressed, delimited file copy with scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 16 -- Scan range offset logging in the file at 64MB boundary. SELECT start_offset FROM stl_load_commits WHERE query = pg_last_copy_id() ORDER BY start_offset; 0 67108864 134217728 201326592 268435456 335544320 402653184 469762048 536870912 603979776 671088640 738197504 805306368 872415232 939524096 1006632960