Es posible que una conexión TCP de ClickHouse (es decir, una establecida a través del cliente de línea de comandos)
se desconecte automáticamente después de cierto número de consultas o de cierto tiempo.
Tras la desconexión, no se produce ninguna reconexión automática (salvo que la active otro mecanismo,
como enviar otra consulta desde el cliente de línea de comandos).
Los límites de conexión se habilitan configurando los ajustes del servidor
tcp_close_connection_after_queries_num (para el límite de consultas)
o tcp_close_connection_after_queries_seconds (para el límite de duración) con un valor mayor que 0.
Si ambos límites están habilitados, la conexión se cierra en cuanto se alcanza primero cualquiera de los dos.
Al alcanzarse un límite y producirse la desconexión, el cliente recibe una excepción
TCP_CONNECTION_LIMIT_REACHED, y la consulta que provoca la desconexión no se procesa nunca.
Suponiendo que tcp_close_connection_after_queries_num esté establecido en N, la conexión permite
N consultas exitosas. Luego, en la consulta N + 1, el cliente se desconecta.
Cada consulta procesada cuenta para el límite de consultas. Por lo tanto, al conectarse con un cliente de línea de comandos,
puede haber una consulta inicial automática de advertencias del sistema que cuenta para el límite.
Cuando una conexión TCP está inactiva (es decir, no ha procesado consultas durante cierto período de tiempo,
según el ajuste de sesión poll_interval), el número de consultas contabilizadas hasta ese momento se restablece a 0.
Esto significa que el número total de consultas en una sola conexión puede superar
tcp_close_connection_after_queries_num si se produce inactividad.
La duración de la conexión se mide desde el momento en que el cliente se conecta.
El cliente se desconecta en la primera consulta una vez transcurridos tcp_close_connection_after_queries_seconds segundos. Última modificación el 10 de junio de 2026