Перейти к основному содержанию

Обзор

TCP-соединение с ClickHouse (то есть соединение через клиент командной строки) может автоматически закрываться после определенного числа запросов или по истечении заданного времени. После отключения автоматического переподключения не происходит (если только оно не будет вызвано чем-то другим, например отправкой нового запроса в клиенте командной строки). Ограничения соединения включаются путем установки настройки сервера tcp_close_connection_after_queries_num (для ограничения по числу запросов) или tcp_close_connection_after_queries_seconds (для ограничения по длительности) в значение больше 0. Если включены оба ограничения, соединение закрывается при срабатывании того, которое наступит первым. При достижении ограничения и отключении соединения клиент получает исключение TCP_CONNECTION_LIMIT_REACHED, и запрос, который приводит к отключению, никогда не обрабатывается.

Лимиты запросов

Если tcp_close_connection_after_queries_num задано как N, соединение допускает N успешных запросов. При выполнении запроса N + 1 клиент отключается. Каждый обработанный запрос учитывается в лимите запросов. Поэтому при подключении клиента командной строки может выполняться автоматический начальный запрос системных предупреждений, который также учитывается в лимите. Когда TCP-соединение бездействует (то есть не обрабатывало запросы в течение некоторого времени, заданного настройкой сеанса poll_interval), число ранее учтённых запросов сбрасывается до 0. Это означает, что общее число запросов в одном соединении может превышать tcp_close_connection_after_queries_num, если соединение простаивало.

Ограничения по длительности

Длительность соединения отсчитывается с момента подключения клиента. Клиент отключается при первом запросе после истечения tcp_close_connection_after_queries_seconds секунд.
Последнее изменение 10 июня 2026 г.