Pular para o conteúdo principal
Consultas no ClickHouse CloudOs dados nesta tabela de sistema são mantidos localmente em cada nó do ClickHouse Cloud. Portanto, para obter uma visão completa de todos os dados, é necessário usar a função clusterAllReplicas. Consulte aqui para mais detalhes.

Descrição

Armazena metadados e estatísticas sobre consultas executadas, como hora de início, duração, mensagens de erro, uso de recursos e outros detalhes da execução. Não armazena os resultados das consultas. Você pode alterar as configurações de registro de consultas na seção query_log da configuração do servidor. Você pode desativar o registro de consultas definindo log_queries = 0. Não recomendamos desativar o registro, porque as informações nesta tabela são importantes para solucionar problemas. O intervalo de flush dos dados é definido no parâmetro flush_interval_milliseconds da seção query_log das configurações do servidor. Para forçar o flush, use a consulta SYSTEM FLUSH LOGS. O ClickHouse não exclui dados da tabela automaticamente. Consulte a Introdução para mais detalhes. A tabela system.query_log registra dois tipos de consultas:
  1. Consultas iniciais executadas diretamente pelo cliente.
  2. Consultas secundárias iniciadas por outras consultas (para execução distribuída de consultas). Para esses tipos de consultas, as informações sobre as consultas pai são exibidas nas colunas initial_*.
Cada consulta cria uma ou duas linhas na tabela query_log, dependendo do status (consulte a coluna type) da consulta:
  1. Se a execução da consulta for bem-sucedida, serão criadas duas linhas com os tipos QueryStart e QueryFinish.
  2. Se ocorrer um erro durante o processamento da consulta, serão criados dois eventos com os tipos QueryStart e ExceptionWhileProcessing.
  3. Se ocorrer um erro antes do início da consulta, será criado um único evento com o tipo ExceptionBeforeStart.
Você pode usar a configuração log_queries_probability para reduzir o número de consultas registradas na tabela query_log. Você pode usar a configuração log_formatted_queries para registrar consultas formatadas na coluna formatted_query.

Colunas

  • hostname (LowCardinality(String)) — Hostname do servidor que executa a consulta.
  • type (Enum8(‘QueryStart’ = 1, ‘QueryFinish’ = 2, ‘ExceptionBeforeStart’ = 3, ‘ExceptionWhileProcessing’ = 4)) — Tipo de evento ocorrido durante a execução da consulta. Valores: QueryStart — início bem-sucedido da execução da consulta, QueryFinish — término bem-sucedido da execução da consulta, ExceptionBeforeStart — exceção antes do início da execução da consulta, ExceptionWhileProcessing — exceção durante a execução da consulta.
  • event_date (Date) — Data de início da consulta.
  • event_time (DateTime) — Hora de início da consulta.
  • event_time_microseconds (DateTime64(6)) — Momento de início da consulta, com precisão de microssegundos.
  • query_start_time (DateTime) — Início da execução da consulta.
  • query_start_time_microseconds (DateTime64(6)) — Horário de início da execução da consulta com precisão de microssegundos.
  • query_duration_ms (UInt64) — Duração da consulta em milissegundos.
  • read_rows (UInt64) — Número total de linhas lidas de todas as tabelas e funções de tabela que participaram da consulta. Isso inclui as subconsultas usuais, subconsultas para IN e JOIN. Para consultas distribuídas, read_rows inclui o número total de linhas lidas em todas as réplicas. Cada réplica envia seu valor de read_rows, e o servidor iniciador da consulta consolida todos os valores recebidos e locais. Os volumes de cache não afetam esse valor.
  • read_bytes (UInt64) — Número total de bytes lidos de todas as tabelas e funções de tabela que participaram da consulta. Inclui as subconsultas usuais, subconsultas para IN e JOIN. Para consultas distribuídas, read_bytes inclui o número total de linhas lidas em todas as réplicas. Cada réplica envia seu valor de read_bytes, e o servidor iniciador da consulta soma todos os valores recebidos e locais. Os volumes de cache não afetam esse valor.
  • written_rows (UInt64) — Para consultas INSERT, o número de linhas gravadas. Para outras consultas, o valor da coluna é 0.
  • written_bytes (UInt64) — Para consultas INSERT, o número de bytes gravados (sem compactação). Para outras consultas, o valor da coluna é 0.
  • result_rows (UInt64) — Número de linhas no resultado da consulta SELECT ou na consulta INSERT.
  • result_bytes (UInt64) — quantidade de RAM, em bytes, usada para armazenar o resultado de uma consulta.
  • memory_usage (UInt64) — Consumo de memória da consulta.
  • current_database (LowCardinality(String)) — Nome do banco de dados atual.
  • query (String) — Texto da consulta.
  • formatted_query (String) — String com a consulta formatada.
  • normalized_query_hash (UInt64) — Um valor de hash numérico, idêntico para consultas que diferem apenas nos valores dos literais.
  • query_kind (LowCardinality(String)) — Tipo de consulta.
  • databases (Array(LowCardinality(String))) — Nomes dos bancos de dados presentes na consulta.
  • tables (Array(LowCardinality(String))) — Nomes das tabelas presentes na consulta.
  • columns (Array(LowCardinality(String))) — Nomes das colunas presentes na consulta.
  • partitions (Array(LowCardinality(String))) — Nomes das partições presentes na consulta.
  • projections (Array(LowCardinality(String))) — Nomes das projeções usadas durante a execução da consulta.
  • views (Array(LowCardinality(String))) — Nomes das views (materializadas ou live) incluídas na consulta.
  • exception_code (Int32) — Código da exceção.
  • exception (String) — Mensagem da exceção.
  • stack_trace (String) — Stack trace. Uma string vazia, se a consulta tiver sido concluída com sucesso.
  • is_initial_query (UInt8) — Tipo de consulta. Valores possíveis: 1 — a consulta foi iniciada pelo cliente, 0 — a consulta foi iniciada por outra consulta como parte da execução de uma consulta distribuída.
  • connection_address (IPv6) — O endereço IP do cliente a partir do qual a conexão foi feita. Quando a conexão é feita por meio de um proxy, este será o endereço do proxy.
  • connection_port (UInt16) — A porta do cliente a partir da qual a conexão foi estabelecida. Quando a conexão é feita por meio de um proxy, esta será a porta do proxy.
  • user (LowCardinality(String)) — Nome do usuário que iniciou a consulta em execução.
  • query_id (String) — identificador da consulta.
  • address (IPv6) — Endereço IP usado para fazer a consulta. Quando a conexão é feita por meio de um proxy e auth_use_forwarded_address está definido, este será o endereço do cliente em vez do endereço do proxy.
  • port (UInt16) — A porta do cliente usada para fazer a consulta. Quando a conexão é feita por meio de um proxy e auth_use_forwarded_address está definido, esta será a porta do cliente em vez da porta do proxy.
  • initial_user (LowCardinality(String)) — Nome do usuário que executou a consulta inicial (para a execução de consultas distribuídas).
  • initial_query_id (String) — ID da consulta inicial (para execução de consultas distribuídas).
  • initial_address (IPv6) — endereço IP a partir do qual a consulta principal foi iniciada.
  • initial_port (UInt16) — A porta do cliente usada para fazer a consulta principal.
  • initial_query_start_time (DateTime) — Hora de início da consulta inicial (para execução de consultas distribuídas).
  • initial_query_start_time_microseconds (DateTime64(6)) — Horário inicial da consulta, com precisão de microssegundos (para execução de consultas distribuídas).
  • authenticated_user (LowCardinality(String)) — Nome do usuário autenticado na sessão.
  • interface (UInt8) — Interface pela qual a consulta foi iniciada. Valores possíveis: 1 — TCP, 2 — HTTP.
  • is_secure (UInt8) — O indicador de se uma consulta foi executada por meio de uma interface segura
  • os_user (LowCardinality(String)) — Nome de usuário do sistema operacional sob o qual o clickhouse-client é executado.
  • client_hostname (LowCardinality(String)) — Hostname da máquina cliente em que o clickhouse-client ou outro cliente TCP é executado.
  • client_name (LowCardinality(String)) — O nome do clickhouse-client ou de outro cliente TCP.
  • client_revision (UInt32) — Revisão do clickhouse-client ou de outro cliente TCP.
  • client_version_major (UInt32) — Versão principal do clickhouse-client ou de outro cliente TCP.
  • client_version_minor (UInt32) — Versão menor do clickhouse-client ou de outro cliente TCP.
  • client_version_patch (UInt32) — Número de patch da versão do clickhouse-client ou de outro cliente TCP.
  • script_query_number (UInt32) — O número da consulta em um script com várias consultas no clickhouse-client.
  • script_line_number (UInt32) — O número da linha em que a consulta começa em um script com várias consultas para o clickhouse-client.
  • http_method (UInt8) — Método HTTP que iniciou a consulta. Valores possíveis: 0 — A consulta foi iniciada pela interface TCP, 1 — o método GET foi utilizado, 2 — o método POST foi utilizado.
  • http_user_agent (LowCardinality(String)) — cabeçalho HTTP UserAgent enviado na consulta HTTP.
  • http_referer (String) — cabeçalho HTTP Referer enviado na consulta HTTP (contém um endereço absoluto ou parcial da página que originou a consulta).
  • forwarded_for (String) — cabeçalho HTTP X-Forwarded-For enviado na consulta HTTP.
  • quota_key (String) — A chave da quota especificada na configuração de quotas (consulte keyed).
  • distributed_depth (UInt64) — Quantas vezes uma consulta foi repassada entre servidores.
  • revision (UInt32) — número de revisão do ClickHouse.
  • log_comment (String) — Comentário do log. Pode ser definido como uma string arbitrária com tamanho de até max_query_size. Será uma string vazia se não estiver definido.
  • thread_ids (Array(UInt64)) — IDs das threads que participam da execução da consulta. Essas threads podem não ter sido executadas simultaneamente.
  • peak_threads_usage (UInt64) — Número máximo de threads simultâneas que executam a consulta.
  • ProfileEvents (Map(LowCardinality(String), UInt64)) — ProfileEvents que medem diferentes métricas. A descrição deles pode ser encontrada na tabela system.events
  • Settings (Map(LowCardinality(String), LowCardinality(String))) — Configurações alteradas quando o cliente executou a consulta. Para registrar em log as alterações nas configurações, defina o parâmetro log_query_settings como 1.
  • used_aggregate_functions (Array(LowCardinality(String))) — Nomes canônicos das funções de agregação usadas na execução da consulta.
  • used_aggregate_function_combinators (Array(LowCardinality(String))) — Nomes canônicos dos combinadores de funções de agregação usados durante a execução da consulta.
  • used_database_engines (Array(LowCardinality(String))) — Nomes canônicos dos motores de banco de dados usados durante a execução da consulta.
  • used_data_type_families (Array(LowCardinality(String))) — Nomes canônicos das famílias de tipos de dados usados durante a execução da consulta.
  • used_dictionaries (Array(LowCardinality(String))) — Nomes canônicos dos dicionários usados durante a execução da consulta.
  • used_formats (Array(LowCardinality(String))) — Nomes canônicos dos formatos usados durante a execução da consulta.
  • used_functions (Array(LowCardinality(String))) — Nomes canônicos das funções usadas durante a execução da consulta.
  • used_storages (Array(LowCardinality(String))) — Nomes canônicos dos armazenamentos usados durante a execução da consulta.
  • used_table_functions (Array(LowCardinality(String))) — Nomes canônicos das funções de tabela usadas durante a execução da consulta.
  • used_executable_user_defined_functions (Array(LowCardinality(String))) — Nomes canônicos de funções executáveis definidas pelo usuário, que foram usadas durante a execução da consulta.
  • used_sql_user_defined_functions (Array(LowCardinality(String))) — Nomes canônicos das funções definidas pelo usuário em SQL usadas durante a execução da consulta.
  • used_row_policies (Array(LowCardinality(String))) — A lista com os nomes das políticas de linha usadas durante a execução da consulta.
  • used_privileges (Array(LowCardinality(String))) — Privilégios cuja verificação foi bem-sucedida durante a execução da consulta.
  • missing_privileges (Array(LowCardinality(String))) — Privilégios ausentes durante a execução da consulta.
  • transaction_id (Tuple(UInt64, UInt64, UUID)) — O identificador da transação no contexto da qual esta consulta foi executada.
  • query_cache_usage (Enum8(‘Unknown’ = 0, ‘None’ = 1, ‘Write’ = 2, ‘Read’ = 3)) — Uso do cache de consultas durante a execução da consulta. Valores: ‘Unknown’ = Status desconhecido, ‘None’ = O resultado da consulta não foi nem armazenado no cache de resultados da consulta nem lido dele, ‘Write’ = O resultado da consulta foi armazenado no cache de resultados da consulta, ‘Read’ = O resultado da consulta foi lido do cache de resultados da consulta.
  • asynchronous_read_counters (Map(LowCardinality(String), UInt64)) — Métricas de leitura assíncrona.
  • is_internal (UInt8) — Indica se é uma consulta auxiliar executada internamente.
Aliases:
  • ProfileEvents.Names — Alias para mapKeys(ProfileEvents).
  • ProfileEvents.Values — Alias para mapValues(ProfileEvents).
  • Settings.Names — Alias para mapKeys(Settings).
  • Settings.Values — Alias para mapValues(Settings).

Exemplos

Exemplo básico
SELECT * FROM system.query_log WHERE type = 'QueryFinish' ORDER BY query_start_time DESC LIMIT 1 FORMAT Vertical;
Row 1:
──────
hostname:                              clickhouse.eu-central1.internal
type:                                  QueryFinish
event_date:                            2021-11-03
event_time:                            2021-11-03 16:13:54
event_time_microseconds:               2021-11-03 16:13:54.953024
query_start_time:                      2021-11-03 16:13:54
query_start_time_microseconds:         2021-11-03 16:13:54.952325
query_duration_ms:                     0
read_rows:                             69
read_bytes:                            6187
written_rows:                          0
written_bytes:                         0
result_rows:                           69
result_bytes:                          48256
memory_usage:                          0
current_database:                      default
query:                                 DESCRIBE TABLE system.query_log
formatted_query:
normalized_query_hash:                 8274064835331539124
query_kind:
databases:                             []
tables:                                []
columns:                               []
projections:                           []
views:                                 []
exception_code:                        0
exception:
stack_trace:
is_initial_query:                      1
user:                                  default
query_id:                              7c28bbbb-753b-4eba-98b1-efcbe2b9bdf6
address:                               ::ffff:127.0.0.1
port:                                  40452
initial_user:                          default
initial_query_id:                      7c28bbbb-753b-4eba-98b1-efcbe2b9bdf6
initial_address:                       ::ffff:127.0.0.1
initial_port:                          40452
initial_query_start_time:              2021-11-03 16:13:54
initial_query_start_time_microseconds: 2021-11-03 16:13:54.952325
interface:                             1
os_user:                               sevirov
client_hostname:                       clickhouse.eu-central1.internal
client_name:                           ClickHouse
client_revision:                       54449
client_version_major:                  21
client_version_minor:                  10
client_version_patch:                  1
http_method:                           0
http_user_agent:
http_referer:
forwarded_for:
quota_key:
revision:                              54456
log_comment:
thread_ids:                            [30776,31174]
ProfileEvents:                         {'Query':1,'NetworkSendElapsedMicroseconds':59,'NetworkSendBytes':2643,'SelectedRows':69,'SelectedBytes':6187,'ContextLock':9,'RWLockAcquiredReadLocks':1,'RealTimeMicroseconds':817,'UserTimeMicroseconds':427,'SystemTimeMicroseconds':212,'OSCPUVirtualTimeMicroseconds':639,'OSReadChars':894,'OSWriteChars':319}
Settings:                              {'load_balancing':'random','max_memory_usage':'10000000000'}
used_aggregate_functions:              []
used_aggregate_function_combinators:   []
used_database_engines:                 []
used_data_type_families:               []
used_dictionaries:                     []
used_formats:                          []
used_functions:                        []
used_storages:                         []
used_table_functions:                  []
used_executable_user_defined_functions:[]
used_sql_user_defined_functions:       []
used_privileges:                       []
missing_privileges:                    []
query_cache_usage:                     None
Exemplo no Cloud No ClickHouse Cloud, system.query_log é local a cada nó; para ver todas as entradas, você precisa fazer a consulta por meio de clusterAllReplicas. Por exemplo, para agregar linhas de query_log de todas as réplicas no cluster “default”, você pode escrever:
SELECT * 
FROM clusterAllReplicas('default', system.query_log)
WHERE event_time >= now() - toIntervalHour(1)
LIMIT 10
SETTINGS skip_unavailable_shards = 1;

Veja também

  • system.query_thread_log — Esta tabela contém informações sobre cada thread usada na execução de uma consulta.
Última modificação em 10 de junho de 2026