SVL_QLOG
A exibição SVL_QLOG contém um log de todas as consultas executadas para o banco de dados.
O Amazon Redshift cria a exibição SVL_QLOG como um subconjunto legível de informações da tabela STL_QUERY. Use esta tabela para encontrar o ID de uma consulta executada recentemente ou para ver em quanto tempo uma consulta foi concluída.
SVL_QLOG é 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.
Alguns ou todos os dados nessa tabela também podem ser encontrados na exibição de monitoramento SYS SYS_QUERY_HISTORY. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender. É recomendável usar a exibição de monitoramento SYS nas consultas.
Colunas da tabela
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
userid | inteiro | O ID do usuário que gerou a entrada. |
consulta | inteiro | ID da consulta. Este ID pode ser usado para unir várias outras tabelas e exibições do sistema. |
xid | bigint | ID da transação. |
pid | inteiro | O ID do processo associado à consulta. |
starttime | timestamp | A hora exata em que a instrução começou a ser executada, com seis dígitos de precisão para segundos fracionários, por exemplo: 2009-06-12 11:29:19.131358 |
endtime | timestamp | A hora exata em que a instrução terminou de ser executada, com seis dígitos de precisão para segundos fracionários, por exemplo: 2009-06-12 11:29:19.193640 |
elapsed | bigint | O tempo que levou para a consulta ser executada (em microssegundos). |
aborted | inteiro | Se uma consulta for interrompida pelo sistema ou cancelada pelo usuário, essa coluna terá o valor 1 . Se a consulta foi executada até o final, essa coluna conterá 0 . As consultas que são canceladas para fins de gerenciamento de workload e reiniciadas posteriormente também têm um valor 1 nesta coluna. |
label | character(320) | O nome do arquivo usado para executar a consulta ou um rótulo definido com o comando SET QUERY_GROUP. Se a consulta não for baseada em arquivos ou o parâmetro QUERY_GROUP não estiver definido, o valor deste campo será default . |
substring | character(60) | O texto truncado da consulta. |
source_query | inteiro | Se a consulta tiver usado o armazenamento em cache do resultado, este é o ID da consulta que originou os resultados armazenados em cache. Se o armazenamento em cache de resultados não foi usado, o valor desse campo é NULL . |
concurrency_scaling_status_txt | text | Uma descrição de se a consulta foi executada no cluster principal ou no cluster de escalonamento de simultaneidade. |
from_sp_call | inteiro | Se a consulta foi chamada a partir de um procedimento armazenado, o ID da consulta da chamada de procedimento. Se a consulta não tiver sido executada como parte de um procedimento armazenado, esse campo será NULL . |
Consultas de exemplo
O exemplo a seguir retorna o ID da consulta, o tempo de execução e o texto truncado da consulta para as cinco consultas de banco de dados mais recentes executadas pelo usuário com userid = 100
.
select query, pid, elapsed, substring from svl_qlog where userid = 100 order by starttime desc limit 5; query | pid | elapsed | substring --------+-------+----------+----------------------------------------------- 187752 | 18921 | 18465685 | select query, elapsed, substring from svl_... 204168 | 5117 | 59603 | insert into testtable values (100); 187561 | 17046 | 1003052 | select * from pg_table_def where tablename... 187549 | 17046 | 1108584 | select * from STV_WLM_SERVICE_CLASS_CONFIG 187468 | 17046 | 5670661 | select * from pg_table_def where schemaname... (5 rows)
O exemplo a seguir retorna o nome do script SQL (coluna LABEL) e o tempo decorrido para uma consulta que foi cancelada (aborted=1
):
select query, elapsed, trim(label) querylabel from svl_qlog where aborted=1; query | elapsed | querylabel -------+----------+------------------------- 16 | 6935292 | alltickittablesjoin.sql (1 row)