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