Saltar al contenido principal
Consultas en ClickHouse CloudLos datos de esta tabla del sistema se almacenan localmente en cada nodo de ClickHouse Cloud. Por lo tanto, para obtener una vista completa de todos los datos, es necesario usar la función clusterAllReplicas. Consulta aquí para más detalles.

Descripción

Almacena metadatos y estadísticas sobre las consultas ejecutadas, como la hora de inicio, la duración, los mensajes de error, el uso de recursos y otros detalles de ejecución. No almacena los resultados de las consultas. Puede cambiar la configuración del registro de consultas en la sección query_log de la configuración del servidor. Puede desactivar el registro de consultas estableciendo log_queries = 0. No recomendamos desactivar el registro porque la información de esta tabla es importante para resolver problemas. El período de vaciado de los datos se configura en el parámetro flush_interval_milliseconds de la sección query_log de la configuración del servidor. Para forzar el vaciado, use la consulta SYSTEM FLUSH LOGS. ClickHouse no elimina automáticamente los datos de la tabla. Consulte Introducción para obtener más información. La tabla system.query_log registra dos tipos de consultas:
  1. Consultas iniciales ejecutadas directamente por el cliente.
  2. Consultas hijas iniciadas por otras consultas (para la ejecución distribuida de consultas). Para este tipo de consultas, la información sobre las consultas padre se muestra en las columnas initial_*.
Cada consulta crea una o dos filas en la tabla query_log, según el estado de la consulta (consulte la columna type):
  1. Si la ejecución de la consulta se realizó correctamente, se crean dos filas con los tipos QueryStart y QueryFinish.
  2. Si se produjo un error durante el procesamiento de la consulta, se crean dos eventos con los tipos QueryStart y ExceptionWhileProcessing.
  3. Si se produjo un error antes de iniciar la consulta, se crea un único evento con el tipo ExceptionBeforeStart.
Puede usar la configuración log_queries_probability para reducir el número de consultas registradas en la tabla query_log. Puede usar la configuración log_formatted_queries para registrar consultas con formato en la columna formatted_query.

Columnas

  • hostname (LowCardinality(String)) — Nombre de host del servidor que ejecuta la consulta.
  • type (Enum8(‘QueryStart’ = 1, ‘QueryFinish’ = 2, ‘ExceptionBeforeStart’ = 3, ‘ExceptionWhileProcessing’ = 4)) — Tipo de evento que se produjo al ejecutar la consulta. Valores: QueryStart — inicio correcto de la ejecución de la consulta, QueryFinish — finalización correcta de la ejecución de la consulta, ExceptionBeforeStart — excepción antes del inicio de la ejecución de la consulta, ExceptionWhileProcessing — excepción durante la ejecución de la consulta.
  • event_date (Date) — Fecha inicial de la consulta.
  • event_time (DateTime) — Hora de inicio de la consulta.
  • event_time_microseconds (DateTime64(6)) — Momento de inicio de la consulta con precisión de microsegundos.
  • query_start_time (DateTime) — Hora de inicio de la ejecución de la consulta.
  • query_start_time_microseconds (DateTime64(6)) — Momento de inicio de la ejecución de la consulta con precisión de microsegundos.
  • query_duration_ms (UInt64) — Duración de la ejecución de la consulta en milisegundos.
  • read_rows (UInt64) — Número total de filas leídas de todas las tablas y funciones de tabla que participan en la consulta. Incluye las subconsultas habituales y las subconsultas para IN y JOIN. En las consultas distribuidas, read_rows incluye el número total de filas leídas en todas las réplicas. Cada réplica envía su valor de read_rows, y el servidor iniciador de la consulta suma todos los valores recibidos y locales. Los volúmenes de caché no afectan a este valor.
  • read_bytes (UInt64) — Número total de bytes leídos de todas las tablas y funciones de tabla que han participado en la consulta. Incluye las subconsultas habituales, las subconsultas para IN y JOIN. En las consultas distribuidas, read_bytes incluye el número total de filas leídas en todas las réplicas. Cada réplica envía su valor de read_bytes, y el servidor iniciador de la consulta suma todos los valores recibidos y los locales. Los volúmenes de caché no influyen en este valor.
  • written_rows (UInt64) — En las consultas INSERT, el número de filas escritas. En otras consultas, el valor de la columna es 0.
  • written_bytes (UInt64) — Para las consultas INSERT, la cantidad de bytes escritos (sin comprimir). Para otras consultas, el valor de la columna es 0.
  • result_rows (UInt64) — Número de filas del resultado de la consulta SELECT o de la consulta INSERT.
  • result_bytes (UInt64) — cantidad de RAM en bytes utilizada para almacenar el resultado de una consulta.
  • memory_usage (UInt64) — Consumo de memoria de la consulta.
  • current_database (LowCardinality(String)) — Nombre de la base de datos actual.
  • query (String) — Cadena de consulta.
  • formatted_query (String) — Cadena de la consulta formateada.
  • normalized_query_hash (UInt64) — Un valor hash numérico que es idéntico para consultas que difieren solo en los valores de los literales.
  • query_kind (LowCardinality(String)) — Tipo de consulta.
  • databases (Array(LowCardinality(String))) — Nombres de las bases de datos incluidas en la consulta.
  • tables (Array(LowCardinality(String))) — Nombres de las tablas incluidas en la consulta.
  • columns (Array(LowCardinality(String))) — Nombres de las columnas presentes en la consulta.
  • partitions (Array(LowCardinality(String))) — Nombres de las particiones presentes en la consulta.
  • projections (Array(LowCardinality(String))) — Nombres de las proyecciones usadas durante la ejecución de la consulta.
  • views (Array(LowCardinality(String))) — Nombres de las vistas (materializadas o activas) incluidas en la consulta.
  • exception_code (Int32) — Código de la excepción.
  • exception (String) — Mensaje de error.
  • stack_trace (String) — Traza de pila. Una cadena vacía si la consulta se completó correctamente.
  • is_initial_query (UInt8) — Tipo de consulta. Valores posibles: 1 — la consulta fue iniciada por el cliente; 0 — la consulta fue iniciada por otra consulta como parte de la ejecución distribuida de consultas.
  • connection_address (IPv6) — La dirección IP del cliente desde la que se estableció la conexión. Si la conexión se realiza a través de un proxy, esta será la dirección del proxy.
  • connection_port (UInt16) — El puerto del cliente desde el que se realizó la conexión. Cuando la conexión se realiza a través de un proxy, este será el puerto del proxy.
  • user (LowCardinality(String)) — Nombre del usuario que inició la consulta actual.
  • query_id (String) — identificador de la consulta.
  • address (IPv6) — dirección IP utilizada para realizar la consulta. Cuando la conexión se realiza a través de un proxy y auth_use_forwarded_address está configurado, esta será la dirección del cliente en lugar de la del proxy.
  • port (UInt16) — El puerto del cliente que se utilizó para realizar la consulta. Cuando la conexión se realiza a través de un proxy y auth_use_forwarded_address está configurado, este será el puerto del cliente en lugar del del proxy.
  • initial_user (LowCardinality(String)) — Nombre del usuario que ejecutó la consulta inicial (en la ejecución distribuida de consultas).
  • initial_query_id (String) — ID de la consulta inicial (para la ejecución distribuida de consultas).
  • initial_address (IPv6) — dirección IP desde la que se inició la consulta principal.
  • initial_port (UInt16) — El puerto del cliente utilizado para realizar la consulta principal.
  • initial_query_start_time (DateTime) — Hora de inicio de la consulta original (para la ejecución distribuida de consultas).
  • initial_query_start_time_microseconds (DateTime64(6)) — Tiempo de inicio de la consulta inicial con precisión de microsegundos (para la ejecución distribuida de consultas).
  • authenticated_user (LowCardinality(String)) — Nombre del usuario autenticado en la sesión.
  • interface (UInt8) — Interfaz desde la cual se inició la consulta. Valores posibles: 1 — TCP, 2 — HTTP.
  • is_secure (UInt8) — Indicador de si una consulta se ejecutó a través de una interfaz segura
  • os_user (LowCardinality(String)) — Nombre de usuario del sistema operativo con el que se ejecuta clickhouse-client.
  • client_hostname (LowCardinality(String)) — Nombre de host del equipo cliente en el que se ejecuta clickhouse-client u otro cliente TCP.
  • client_name (LowCardinality(String)) — El nombre del cliente clickhouse-client o de otro cliente TCP.
  • client_revision (UInt32) — Revisión del clickhouse-client o de otro cliente TCP.
  • client_version_major (UInt32) — Versión principal de clickhouse-client o de otro cliente TCP.
  • client_version_minor (UInt32) — Versión menor de clickhouse-client o de otro cliente TCP.
  • client_version_patch (UInt32) — Número de parche de la versión de clickhouse-client o de otro cliente TCP.
  • script_query_number (UInt32) — El número de la consulta dentro de un script con varias consultas para clickhouse-client.
  • script_line_number (UInt32) — El número de línea donde comienza la consulta en un script con múltiples consultas para clickhouse-client.
  • http_method (UInt8) — Método HTTP que inició la consulta. Valores posibles: 0 — La consulta se inició desde la interfaz TCP, 1 — se usó el método GET, 2 — se usó el método POST.
  • http_user_agent (LowCardinality(String)) — encabezado HTTP UserAgent que se envía en la consulta HTTP.
  • http_referer (String) — cabecera HTTP Referer incluida en la consulta HTTP (contiene una dirección absoluta o parcial de la página que realiza la consulta).
  • forwarded_for (String) — encabezado HTTP X-Forwarded-For incluido en la consulta HTTP.
  • quota_key (String) — La clave de cuota especificada en la configuración de quotas (consulte keyed).
  • distributed_depth (UInt64) — Cuántas veces se reenviò una consulta entre servidores.
  • revision (UInt32) — revisión de ClickHouse.
  • log_comment (String) — Comentario del registro. Puede establecerse como una cadena arbitraria de no más de max_query_size. Una cadena vacía si no está definido.
  • thread_ids (Array(UInt64)) — Identificadores de los hilos que participan en la ejecución de la consulta. Es posible que estos hilos no se hayan ejecutado simultáneamente.
  • peak_threads_usage (UInt64) — Número máximo de hilos simultáneos que ejecutan la consulta.
  • ProfileEvents (Map(LowCardinality(String), UInt64)) — Eventos de perfil que miden distintas métricas. La descripción de cada uno se puede encontrar en la tabla system.events
  • Settings (Map(LowCardinality(String), LowCardinality(String))) — Configuración que se modificó cuando el cliente ejecutó la consulta. Para registrar los cambios en la configuración, establezca el parámetro log_query_settings en 1.
  • used_aggregate_functions (Array(LowCardinality(String))) — Nombres canónicos de las funciones de agregación utilizadas durante la ejecución de la consulta.
  • used_aggregate_function_combinators (Array(LowCardinality(String))) — Nombres canónicos de los combinadores de funciones de agregación utilizados durante la ejecución de la consulta.
  • used_database_engines (Array(LowCardinality(String))) — Los nombres canónicos de los motores de base de datos utilizados durante la ejecución de la consulta.
  • used_data_type_families (Array(LowCardinality(String))) — Nombres canónicos de las familias de tipos de datos utilizadas durante la ejecución de la consulta.
  • used_dictionaries (Array(LowCardinality(String))) — Nombres canónicos de los diccionarios utilizados durante la ejecución de la consulta.
  • used_formats (Array(LowCardinality(String))) — Nombres canónicos de los formatos utilizados durante la ejecución de la consulta.
  • used_functions (Array(LowCardinality(String))) — Nombres canónicos de las funciones utilizadas durante la ejecución de la consulta.
  • used_storages (Array(LowCardinality(String))) — Nombres canónicos de los almacenamientos utilizados durante la ejecución de la consulta.
  • used_table_functions (Array(LowCardinality(String))) — Nombres canónicos de las funciones de tabla utilizadas durante la ejecución de la consulta.
  • used_executable_user_defined_functions (Array(LowCardinality(String))) — Nombres canónicos de las funciones ejecutables definidas por el usuario que se usaron durante la ejecución de la consulta.
  • used_sql_user_defined_functions (Array(LowCardinality(String))) — Nombres canónicos de las funciones SQL definidas por el usuario que se utilizaron durante la ejecución de la consulta.
  • used_row_policies (Array(LowCardinality(String))) — La lista de nombres de las políticas de fila utilizadas durante la ejecución de la consulta.
  • used_privileges (Array(LowCardinality(String))) — Privilegios que se verificaron correctamente durante la ejecución de la consulta.
  • missing_privileges (Array(LowCardinality(String))) — Privilegios ausentes durante la ejecución de la consulta.
  • transaction_id (Tuple(UInt64, UInt64, UUID)) — El identificador de la transacción dentro de la cual se ejecutó esta consulta.
  • query_cache_usage (Enum8(‘Unknown’ = 0, ‘None’ = 1, ‘Write’ = 2, ‘Read’ = 3)) — Uso de la caché de consultas durante la ejecución de la consulta. Valores: ‘Unknown’ = Estado desconocido, ‘None’ = El resultado de la consulta no se escribió ni se leyó en la caché de resultados de consulta, ‘Write’ = El resultado de la consulta se escribió en la caché de resultados de consulta, ‘Read’ = El resultado de la consulta se leyó de la caché de resultados de consulta.
  • asynchronous_read_counters (Map(LowCardinality(String), UInt64)) — Métricas de lectura asíncrona.
  • is_internal (UInt8) — Indica si se trata de una consulta auxiliar ejecutada internamente.
Aliases:
  • ProfileEvents.Names — Alias de mapKeys(ProfileEvents).
  • ProfileEvents.Values — Alias de mapValues(ProfileEvents).
  • Settings.Names — Alias de mapKeys(Settings).
  • Settings.Values — Alias de mapValues(Settings).

Ejemplos

Ejemplo 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
Ejemplo en Cloud En ClickHouse Cloud, system.query_log es local a cada nodo; para ver todos los registros, debe hacer la consulta mediante clusterAllReplicas. Por ejemplo, para agregar las filas de query_log de cada réplica del clúster “default”, puede escribir:
SELECT * 
FROM clusterAllReplicas('default', system.query_log)
WHERE event_time >= now() - toIntervalHour(1)
LIMIT 10
SETTINGS skip_unavailable_shards = 1;

Véase también

Última modificación el 10 de junio de 2026