> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Системная таблица с информацией о выполненных запросах, например: времени начала, длительности обработки и сообщениях об ошибках.

# system.query_log

<Info>
  **Запросы в ClickHouse Cloud**

  Данные в этой системной таблице хранятся локально на каждом узле ClickHouse Cloud. Поэтому, чтобы получить полное представление обо всех данных, требуется функция `clusterAllReplicas`. Дополнительные сведения см. [здесь](/ru/reference/system-tables/overview#system-tables-in-clickhouse-cloud).
</Info>

<div id="description">
  ## Описание
</div>

Хранит метаданные и статистику о выполненных запросах, такие как время начала, длительность, сообщения об ошибках, использование ресурсов и другие сведения о выполнении. Результаты запросов не сохраняются.

Вы можете изменить настройки логирования запросов в разделе [query\_log](/ru/reference/settings/server-settings/settings#query_log) конфигурации сервера.

Вы можете отключить логирование запросов, установив [log\_queries = 0](/ru/reference/settings/session-settings#log_queries). Мы не рекомендуем отключать логирование, поскольку информация в этой таблице важна для устранения проблем.

Период сброса данных задаётся параметром `flush_interval_milliseconds` в разделе настроек сервера [query\_log](/ru/reference/settings/server-settings/settings#query_log). Чтобы принудительно выполнить сброс, используйте запрос [SYSTEM FLUSH LOGS](/ru/reference/statements/system#flush-logs).

ClickHouse не удаляет данные из таблицы автоматически. Подробнее см. в разделе [Introduction](/ru/reference/system-tables/overview#system-tables-introduction).

Таблица `system.query_log` регистрирует два типа запросов:

1. Начальные запросы, которые были запущены клиентом напрямую.
2. Дочерние запросы, инициированные другими запросами (при выполнении распределённого запроса). Для таких запросов информация о родительских запросах отображается в столбцах `initial_*`.

Каждый запрос создаёт одну или две строки в таблице `query_log` в зависимости от состояния запроса (см. столбец `type`):

1. Если запрос выполнен успешно, создаются две строки с типами `QueryStart` и `QueryFinish`.
2. Если во время обработки запроса произошла ошибка, создаются два события с типами `QueryStart` и `ExceptionWhileProcessing`.
3. Если ошибка произошла до запуска запроса, создаётся одно событие с типом `ExceptionBeforeStart`.

Вы можете использовать настройку [log\_queries\_probability](/ru/reference/settings/session-settings#log_queries_probability), чтобы уменьшить количество запросов, регистрируемых в таблице `query_log`.

Вы можете использовать настройку [log\_formatted\_queries](/ru/reference/settings/session-settings#log_formatted_queries), чтобы записывать отформатированные запросы в столбец `formatted_query`.

<div id="columns">
  ## Столбцы
</div>

* `hostname` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — имя хоста сервера, выполняющего запрос.
* `type` ([Enum8('QueryStart' = 1, 'QueryFinish' = 2, 'ExceptionBeforeStart' = 3, 'ExceptionWhileProcessing' = 4)](/ru/reference/data-types/enum)) — Тип события, произошедшего при выполнении запроса. Значения: `QueryStart` — успешное начало выполнения запроса, `QueryFinish` — успешное завершение выполнения запроса, `ExceptionBeforeStart` — исключение до начала выполнения запроса, `ExceptionWhileProcessing` — исключение в процессе выполнения запроса.
* `event_date` ([Date](/ru/reference/data-types/date)) — дата начала запроса.
* `event_time` ([DateTime](/ru/reference/data-types/datetime)) — Время начала выполнения запроса.
* `event_time_microseconds` ([DateTime64(6)](/ru/reference/data-types/datetime64)) — время начала запроса с точностью до микросекунд.
* `query_start_time` ([DateTime](/ru/reference/data-types/datetime)) — время начала выполнения запроса.
* `query_start_time_microseconds` ([DateTime64(6)](/ru/reference/data-types/datetime64)) — время начала выполнения запроса с точностью до микросекунд.
* `query_duration_ms` ([UInt64](/ru/reference/data-types/int-uint)) — длительность выполнения запроса в миллисекундах.
* `read_rows` ([UInt64](/ru/reference/data-types/int-uint)) — Общее количество строк, прочитанных из всех таблиц и табличных функций, участвовавших в запросе. Сюда входят обычные подзапросы, а также подзапросы для IN и JOIN. Для распределённых запросов `read_rows` включает общее количество строк, прочитанных на всех репликах. Каждая реплика отправляет своё значение `read_rows`, а сервер-инициатор запроса суммирует все полученные и локальные значения. Объёмы кэша не влияют на это значение.
* `read_bytes` ([UInt64](/ru/reference/data-types/int-uint)) — Общее количество байтов, прочитанных из всех таблиц и табличных функций, использованных в запросе. Сюда входят обычные подзапросы, а также подзапросы для IN и JOIN. Для распределённых запросов read\_bytes включает общее количество строк, прочитанных на всех репликах. Каждая реплика отправляет своё значение read\_bytes, а сервер-инициатор запроса суммирует все полученные и локальные значения. Объём кэша не влияет на это значение.
* `written_rows` ([UInt64](/ru/reference/data-types/int-uint)) — Для запросов INSERT — количество записанных строк. Для других запросов значение столбца равно 0.
* `written_bytes` ([UInt64](/ru/reference/data-types/int-uint)) — Для запросов INSERT — количество записанных байтов (без сжатия). Для других запросов значение столбца равно 0.
* `result_rows` ([UInt64](/ru/reference/data-types/int-uint)) — количество строк в результате запроса SELECT или в запросе INSERT.
* `result_bytes` ([UInt64](/ru/reference/data-types/int-uint)) — объём оперативной памяти в байтах, используемый для хранения результата запроса.
* `memory_usage` ([UInt64](/ru/reference/data-types/int-uint)) — Объём памяти, потребляемой запросом.
* `current_database` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — Имя текущей базы данных.
* `query` ([String](/ru/reference/data-types/string)) — Строка запроса.
* `formatted_query` ([String](/ru/reference/data-types/string)) — Форматированный текст запроса.
* `normalized_query_hash` ([UInt64](/ru/reference/data-types/int-uint)) — Числовое хеш-значение, идентичное для запросов, различающихся только значениями литералов.
* `query_kind` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — Тип запроса.
* `databases` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Названия баз данных, присутствующих в запросе.
* `tables` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Имена таблиц, используемых в запросе.
* `columns` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Имена столбцов, используемых в запросе.
* `partitions` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Имена партиций, используемых в запросе.
* `projections` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Имена проекций, используемых при выполнении запроса.
* `views` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Имена (материализованных или live-) представлений, используемых в запросе.
* `exception_code` ([Int32](/ru/reference/data-types/int-uint)) — Код исключения.
* `exception` ([String](/ru/reference/data-types/string)) — Сообщение исключения.
* `stack_trace` ([String](/ru/reference/data-types/string)) — Трассировка стека. Пустая строка, если запрос завершился успешно.
* `is_initial_query` ([UInt8](/ru/reference/data-types/int-uint)) — Тип запроса. Возможные значения: 1 — запрос был инициирован клиентом, 0 — запрос был инициирован другим запросом в рамках выполнения распределённого запроса.
* `connection_address` ([IPv6](/ru/reference/data-types/ipv6)) — IP-адрес клиента, с которого было установлено соединение. При подключении через прокси здесь будет указан адрес прокси-сервера.
* `connection_port` ([UInt16](/ru/reference/data-types/int-uint)) — Порт клиента, с которого было установлено соединение. При подключении через прокси это будет порт прокси-сервера.
* `user` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — Имя пользователя, инициировавшего текущий запрос.
* `query_id` ([String](/ru/reference/data-types/string)) — идентификатор запроса.
* `address` ([IPv6](/ru/reference/data-types/ipv6)) — IP-адрес, использованный для выполнения запроса. При подключении через прокси и включённом параметре `auth_use_forwarded_address` здесь будет указан адрес клиента, а не прокси.
* `port` ([UInt16](/ru/reference/data-types/int-uint)) — Порт клиента, который использовался для выполнения запроса. При подключении через прокси и включённом параметре `auth_use_forwarded_address` здесь будет указан порт клиента, а не прокси.
* `initial_user` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — Имя пользователя, который выполнил исходный запрос (для выполнения распределённого запроса).
* `initial_query_id` ([String](/ru/reference/data-types/string)) — идентификатор исходного запроса (при выполнении распределённого запроса).
* `initial_address` ([IPv6](/ru/reference/data-types/ipv6)) — IP-адрес, с которого был запущен родительский запрос.
* `initial_port` ([UInt16](/ru/reference/data-types/int-uint)) — Клиентский порт, использованный для выполнения родительского запроса.
* `initial_query_start_time` ([DateTime](/ru/reference/data-types/datetime)) — Время начала исходного запроса (для выполнения распределённого запроса).
* `initial_query_start_time_microseconds` ([DateTime64(6)](/ru/reference/data-types/datetime64)) — Время начала исходного запроса с точностью до микросекунд (для выполнения распределённого запроса).
* `authenticated_user` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — Имя пользователя, аутентифицированного в этом сеансе.
* `interface` ([UInt8](/ru/reference/data-types/int-uint)) — Интерфейс, через который был отправлен запрос. Возможные значения: 1 — TCP, 2 — HTTP.
* `is_secure` ([UInt8](/ru/reference/data-types/int-uint)) — Флаг, показывающий, был ли запрос выполнен через защищённый интерфейс
* `os_user` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — имя пользователя операционной системы, от имени которого запущен clickhouse-client.
* `client_hostname` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — имя хоста клиентской машины, на которой запущен `clickhouse-client` или другой TCP-клиент.
* `client_name` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — имя clickhouse-client или другого TCP-клиента.
* `client_revision` ([UInt32](/ru/reference/data-types/int-uint)) — Ревизия clickhouse-client или другого TCP-клиента.
* `client_version_major` ([UInt32](/ru/reference/data-types/int-uint)) — старшая версия clickhouse-client или другого TCP-клиента.
* `client_version_minor` ([UInt32](/ru/reference/data-types/int-uint)) — младшая версия clickhouse-client или другого TCP-клиента.
* `client_version_patch` ([UInt32](/ru/reference/data-types/int-uint)) — номер патча в версии `clickhouse-client` или другого TCP-клиента.
* `script_query_number` ([UInt32](/ru/reference/data-types/int-uint)) — Номер запроса в скрипте, содержащем несколько запросов, для clickhouse-client.
* `script_line_number` ([UInt32](/ru/reference/data-types/int-uint)) — Номер строки, с которой начинается запрос в скрипте с несколькими запросами в clickhouse-client.
* `http_method` ([UInt8](/ru/reference/data-types/int-uint)) — HTTP-метод, которым был инициирован запрос. Возможные значения: 0 — запрос был выполнен через интерфейс TCP, 1 — использовался метод GET, 2 — использовался метод POST.
* `http_user_agent` ([LowCardinality(String)](/ru/reference/data-types/lowcardinality)) — HTTP-заголовок UserAgent, передаваемый в HTTP-запросе.
* `http_referer` ([String](/ru/reference/data-types/string)) — HTTP-заголовок Referer, передаваемый в HTTP-запросе (содержит полный или частичный адрес страницы, с которой выполняется запрос).
* `forwarded_for` ([String](/ru/reference/data-types/string)) — HTTP-заголовок X-Forwarded-For, передаваемый с HTTP-запросом.
* `quota_key` ([String](/ru/reference/data-types/string)) — Ключ квоты, указанный в параметре quotas (см. keyed).
* `distributed_depth` ([UInt64](/ru/reference/data-types/int-uint)) — Сколько раз запрос пересылался между серверами.
* `revision` ([UInt32](/ru/reference/data-types/int-uint)) — номер ревизии ClickHouse.
* `log_comment` ([String](/ru/reference/data-types/string)) — Комментарий к журналу. Может быть задан в виде произвольной строки длиной не более max\_query\_size. Если не определён, содержит пустую строку.
* `thread_ids` ([Array(UInt64)](/ru/reference/data-types/array)) — Идентификаторы потоков, участвующих в выполнении запроса. Эти потоки могли выполняться не одновременно.
* `peak_threads_usage` ([UInt64](/ru/reference/data-types/int-uint)) — Максимальное число потоков, одновременно выполняющих запрос.
* `ProfileEvents` ([Map(LowCardinality(String), UInt64)](/ru/reference/data-types/map)) — события ProfileEvents, измеряющие различные метрики. Их описание можно найти в таблице system.events
* `Settings` ([Map(LowCardinality(String), LowCardinality(String))](/ru/reference/data-types/map)) — Настройки, изменённые при выполнении запроса клиентом. Чтобы включить логирование изменений настроек, установите параметр log\_query\_settings в значение 1.
* `used_aggregate_functions` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена агрегатных функций, использованных при выполнении запроса.
* `used_aggregate_function_combinators` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена комбинаторов агрегатных функций, использованных при выполнении запроса.
* `used_database_engines` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена движков баз данных, использовавшихся при выполнении запроса.
* `used_data_type_families` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические названия семейств типов данных, использовавшихся при выполнении запроса.
* `used_dictionaries` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена словарей, использованных при выполнении запроса.
* `used_formats` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена форматов, которые использовались при выполнении запроса.
* `used_functions` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена функций, использованных при выполнении запроса.
* `used_storages` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена хранилищ, использовавшихся при выполнении запроса.
* `used_table_functions` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена табличных функций, использованных при выполнении запроса.
* `used_executable_user_defined_functions` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена исполняемых пользовательских функций, использованных при выполнении запроса.
* `used_sql_user_defined_functions` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Канонические имена пользовательских функций SQL, использованных при выполнении запроса.
* `used_row_policies` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Список имён политик доступа на уровне строк, использованных при выполнении запроса.
* `used_privileges` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — привилегии, которые успешно прошли проверку при выполнении запроса.
* `missing_privileges` ([Array(LowCardinality(String))](/ru/reference/data-types/array)) — Отсутствующие привилегии при выполнении запроса.
* `transaction_id` ([Tuple(UInt64, UInt64, UUID)](/ru/reference/data-types/tuple)) — Идентификатор транзакции, в рамках которой был выполнен этот запрос.
* `query_cache_usage` ([Enum8('Unknown' = 0, 'None' = 1, 'Write' = 2, 'Read' = 3)](/ru/reference/data-types/enum)) — Использование кэша запросов при выполнении запроса. Значения: 'Unknown' = Статус неизвестен, 'None' = Результат запроса не был ни записан в кэш результатов запросов, ни прочитан из него, 'Write' = Результат запроса был записан в кэш результатов запросов, 'Read' = Результат запроса был прочитан из кэша результатов запросов.
* `asynchronous_read_counters` ([Map(LowCardinality(String), UInt64)](/ru/reference/data-types/map)) — метрики асинхронного чтения.
* `is_internal` ([UInt8](/ru/reference/data-types/int-uint)) — Указывает, является ли это внутренним вспомогательным запросом.

**Псевдонимы:**

* `ProfileEvents.Names` — псевдоним для `mapKeys(ProfileEvents)`.
* `ProfileEvents.Values` — псевдоним для `mapValues(ProfileEvents)`.
* `Settings.Names` — псевдоним для `mapKeys(Settings)`.
* `Settings.Values` — псевдоним для `mapValues(Settings)`.

<div id="examples">
  ## Примеры
</div>

**Базовый пример**

```sql theme={null}
SELECT * FROM system.query_log WHERE type = 'QueryFinish' ORDER BY query_start_time DESC LIMIT 1 FORMAT Vertical;
```

```text theme={null}
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
```

**Пример для Cloud**

В ClickHouse Cloud таблица `system.query_log` локальна для каждого узла; чтобы увидеть все записи, необходимо выполнять запрос через [`clusterAllReplicas`](/ru/reference/functions/table-functions/cluster).

Например, чтобы агрегировать строки из query\_log со всех реплик кластера “default”, можно написать:

```sql theme={null}
SELECT * 
FROM clusterAllReplicas('default', system.query_log)
WHERE event_time >= now() - toIntervalHour(1)
LIMIT 10
SETTINGS skip_unavailable_shards = 1;
```

<div id="see-also">
  ## См. также
</div>

* [system.query\_thread\_log](/ru/reference/system-tables/query_thread_log) — Эта table содержит информацию о каждом потоке выполнения запроса.
