Skip to main content

Descripción

Muestra al usuario actual sus propios registros de consultas. Lee la tabla de registro de consultas configurada mediante los ajustes del servidor query_log.database y query_log.table (system.query_log de forma predeterminada) y devuelve únicamente las filas cuyo usuario iniciador es igual a currentUser() (el usuario iniciador se toma de initial_user cuando está establecido; de lo contrario, de user). A diferencia de la propia tabla de registro de consultas, system.user_query_log puede leerse sin ningún permiso, por lo que los usuarios pueden inspeccionar sus propias consultas sin que se les conceda acceso a las consultas de otros. Esto solo se admite cuando el registro de consultas se almacena localmente. Si query_log.engine está configurado como Distributed o cualquier otro motor que delegue las lecturas en otro servidor, system.user_query_log se niega a leer de ella y genera una excepción, ya que la comprobación de acceso requerida no puede aplicarse a través de un límite entre servidores que usan el protocolo ClickHouse. En ese caso, deshabilite la tabla con query_log.enable_user_query_log = 0. La tabla puede deshabilitarse mediante el ajuste del servidor query_log.enable_user_query_log. Si el registro de consultas no está configurado o su tabla aún no se ha creado, system.user_query_log estará vacío. Las condiciones sobre la partición y las columnas clave del registro de consultas (event_date, event_time, query_start_time, query_id, type y columnas escalares similares) comparadas con constantes se hacen pushdown a la tabla de registro de consultas subyacente, por lo que las búsquedas habituales, como la del ejemplo siguiente, mantienen la poda de particiones y no examinan todo el registro conservado.
Si se creó una tabla llamada system.user_query_log antes de actualizar a una versión de ClickHouse que proporciona esta tabla, el servidor no se iniciará hasta que se cambie el nombre de la tabla existente o se elimine, o se establezca query_log.enable_user_query_log en 0.

Columnas

  • hostname (String) — Nombre de host del servidor que ejecuta la consulta.
  • type (Enum8(‘QueryStart’ = 1, ‘QueryFinish’ = 2, ‘ExceptionBeforeStart’ = 3, ‘ExceptionWhileProcessing’ = 4)) — Tipo de evento ocurrido durante la ejecución de 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 de inicio de la consulta.
  • event_time (DateTime) — Hora de inicio de la consulta.
  • event_time_microseconds (DateTime64(6)) — Hora 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)) — Hora 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 subconsultas habituales y 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 agrega 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 participan en la consulta. Incluye subconsultas habituales y 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 agrega todos los valores recibidos y locales. Los volúmenes de caché no afectan a este valor.
  • written_rows (UInt64) — Número de filas escritas por la consulta, incluidas las escritas por inserciones posteriores activadas por el pipeline, como las vistas materializadas adjuntas. En una inserción síncrona, estas filas posteriores se registran en la entrada query_kind = Insert; en una inserción asíncrona, se registran en la entrada query_kind = AsyncInsertFlush, mientras que la entrada Insert dirigida al cliente registra solo las filas aceptadas del cliente. Para las consultas que no escriben filas, es 0.
  • written_bytes (UInt64) — Número de bytes escritos por la consulta (sin comprimir), incluidos los escritos por inserciones posteriores activadas por el pipeline, como las vistas materializadas adjuntas. En una inserción síncrona, estos bytes posteriores se registran en la entrada query_kind = Insert; en una inserción asíncrona, se registran en la entrada query_kind = AsyncInsertFlush, mientras que la entrada Insert dirigida al cliente registra solo los bytes aceptados del cliente. Para las consultas que no escriben datos, es 0.
  • result_rows (UInt64) — Número de filas en el resultado de una consulta SELECT o número de filas escritas por una inserción. En una inserción síncrona, incluye las filas escritas por inserciones posteriores activadas por el pipeline (como las vistas materializadas adjuntas) en la entrada query_kind = Insert; en una inserción asíncrona, esas filas posteriores se registran en la entrada query_kind = AsyncInsertFlush, mientras que la entrada Insert dirigida al cliente registra solo las filas aceptadas del cliente.
  • result_bytes (UInt64) — Cantidad de memoria RAM, en bytes, utilizada para almacenar el resultado de una consulta.
  • memory_usage (UInt64) — Consumo de memoria de la consulta.
  • current_database (String) — Nombre de la base de datos actual.
  • query (String) — Cadena de consulta.
  • formatted_query (String) — Cadena de consulta formateada.
  • normalized_query_hash (UInt64) — Valor hash numérico idéntico para consultas que solo difieren en los valores de los literales.
  • query_kind (String) — Tipo de consulta.
  • databases (Array(String)) — Nombres de las bases de datos presentes en la consulta.
  • tables (Array(String)) — Nombres de las tablas presentes en la consulta.
  • columns (Array(String)) — Nombres de las columnas presentes en la consulta.
  • partitions (Array(String)) — Nombres de las particiones presentes en la consulta.
  • projections (Array(String)) — Nombres de las proyecciones utilizadas durante la ejecución de la consulta.
  • views (Array(String)) — Nombres de las vistas (materializadas o en tiempo real) presentes en la consulta.
  • exception_code (Int32) — Código de excepción.
  • exception (String) — Mensaje de excepción.
  • stack_trace (String) — Traza de pila. 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) — Dirección IP del cliente desde la que se estableció la conexión. Si la conexión se realiza mediante un proxy, será la dirección del proxy.
  • connection_port (UInt16) — Puerto del cliente desde el que se estableció la conexión. Si la conexión se realiza mediante un proxy, será el puerto del proxy.
  • user (String) — Nombre del usuario que inició la consulta actual.
  • query_id (String) — ID de la consulta.
  • address (IPv6) — Dirección IP utilizada para realizar la consulta. Si la conexión se realiza mediante un proxy y se establece auth_use_forwarded_address, será la dirección del cliente en lugar de la del proxy.
  • port (UInt16) — Puerto del cliente utilizado para realizar la consulta. Si la conexión se realiza mediante un proxy y se establece auth_use_forwarded_address, será el puerto del cliente en lugar del del proxy.
  • initial_user (String) — Nombre del usuario que ejecutó la consulta inicial (para 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) — Puerto del cliente utilizado para realizar la consulta principal.
  • initial_query_start_time (DateTime) — Hora de inicio de la consulta inicial (para la ejecución distribuida de consultas).
  • initial_query_start_time_microseconds (DateTime64(6)) — Hora de inicio de la consulta inicial con precisión de microsegundos (para la ejecución distribuida de consultas).
  • authenticated_user (String) — Nombre del usuario autenticado en la sesión.
  • interface (UInt8) — Interfaz desde la que 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 (String) — Nombre de usuario del sistema operativo que ejecuta clickhouse-client.
  • client_hostname (String) — Nombre de host de la máquina cliente en la que se ejecuta clickhouse-client u otro cliente TCP.
  • client_name (String) — Nombre de clickhouse-client u otro cliente TCP.
  • client_agent (String) — Agente de programación con IA que invocó al cliente (p. ej., claude-code, cursor), detectado a partir de variables de entorno. Vacío si no se detectó ningún agente.
  • client_revision (UInt32) — Revisión de clickhouse-client u otro cliente TCP.
  • client_version_major (UInt32) — Versión principal de clickhouse-client u otro cliente TCP.
  • client_version_minor (UInt32) — Versión secundaria de clickhouse-client u otro cliente TCP.
  • client_version_patch (UInt32) — Componente de parche de la versión de clickhouse-client u otro cliente TCP.
  • script_query_number (UInt32) — Número de la consulta en un script con varias consultas para clickhouse-client.
  • script_line_number (UInt32) — Número de línea donde comienza la consulta en un script con varias 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; 4 — Se usó el método PUT; 5 — Se usó el método DELETE; 6 — Se usó el método HEAD.
  • http_user_agent (String) — Cabecera HTTP UserAgent incluida 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) — Cabecera HTTP X-Forwarded-For incluida en la consulta HTTP.
  • quota_key (String) — Clave de cuota especificada en la configuración de cuotas (consulte keyed).
  • distributed_depth (UInt64) — Número de veces que una consulta se redirigió entre servidores.
  • revision (UInt32) — Revisión de ClickHouse.
  • http_handler_name (String) — Nombre del handler HTTP definido mediante SQL (CREATE HANDLER) que invocó la consulta. Vacío si la consulta no se invocó mediante dicho handler.
  • http_request_url (String) — Ruta de la solicitud HTTP (sin la cadena de consulta) que invocó la consulta. La cadena de consulta se omite para que los parámetros confidenciales de la solicitud no persistan. Vacío para consultas que no son HTTP.
  • log_comment (String) — Comentario de registro. Puede establecerse como una cadena arbitraria de longitud no superior a max_query_size. Una cadena vacía si no está definido.
  • thread_ids (Array(UInt64)) — ID 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(String, UInt64)) — ProfileEvents que miden distintas métricas. Su descripción se encuentra en la tabla system.events.
  • Settings (Map(String, String)) — Configuraciones que se modificaron cuando el cliente ejecutó la consulta. Para habilitar el registro de cambios en la configuración, establezca el parámetro log_query_settings en 1.
  • used_aggregate_functions (Array(String)) — Nombres canónicos de las funciones de agregación utilizadas durante la ejecución de la consulta.
  • used_aggregate_function_combinators (Array(String)) — Nombres canónicos de los combinadores de funciones de agregación utilizados durante la ejecución de la consulta.
  • used_database_engines (Array(String)) — Nombres canónicos de los motores de base de datos utilizados durante la ejecución de la consulta.
  • used_data_type_families (Array(String)) — Nombres canónicos de las familias de tipos de datos utilizadas durante la ejecución de la consulta.
  • used_dictionaries (Array(String)) — Nombres canónicos de los diccionarios utilizados durante la ejecución de la consulta.
  • used_formats (Array(String)) — Nombres canónicos de los formatos utilizados durante la ejecución de la consulta.
  • used_functions (Array(String)) — Nombres canónicos de las funciones utilizadas durante la ejecución de la consulta.
  • used_storages (Array(String)) — Nombres canónicos de los sistemas de almacenamiento utilizados durante la ejecución de la consulta.
  • used_table_functions (Array(String)) — Nombres canónicos de las funciones de tabla utilizadas durante la ejecución de la consulta.
  • used_executable_user_defined_functions (Array(String)) — Nombres canónicos de las funciones ejecutables definidas por el usuario utilizadas durante la ejecución de la consulta.
  • used_sql_user_defined_functions (Array(String)) — Nombres canónicos de las funciones SQL definidas por el usuario utilizadas durante la ejecución de la consulta.
  • used_row_policies (Array(String)) — Lista de nombres de las políticas de fila utilizadas durante la ejecución de la consulta.
  • used_privileges (Array(String)) — Privilegios comprobados correctamente durante la ejecución de la consulta.
  • missing_privileges (Array(String)) — Privilegios que faltan durante la ejecución de la consulta.
  • transaction_id (Tuple(UInt64, UInt64, UUID)) — Identificador de la transacción en cuyo ámbito 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ó de la caché de resultados de consultas, ‘Write’ = el resultado de la consulta se escribió en la caché de resultados de consultas, ‘Read’ = el resultado de la consulta se leyó de la caché de resultados de consultas.
  • asynchronous_read_counters (Map(String, UInt64)) — Métricas de lectura asíncrona.
  • is_internal (UInt8) — Indica si se trata de una consulta auxiliar ejecutada internamente.
Alias:
  • ProfileEvents.Names — Alias de mapKeys(ProfileEvents).
  • ProfileEvents.Values — Alias de mapValues(ProfileEvents).
  • Settings.Names — Alias de mapKeys(Settings).
  • Settings.Values — Alias de mapValues(Settings).

Ejemplo

Última modificación el 14 de agosto de 2026