Quando usar
query_log não é replicada, e apenas as consultas executadas em um nó específico são registradas. Os dados também podem ir para outra tabela. Por exemplo, os dados podem ser inseridos em query_log_0, query_log_1 etc. Como um nó pode fazer essa rotação em um momento diferente dos demais, é útil tentar encontrar os dados que estamos procurando em tabelas que não tenham exatamente o mesmo nome.
Em essência, precisamos fazer algo assim, mas na sintaxe do ClickHouse:
SELECT column1, column2 FROM my_db.my_table_*
Para isso, podemos usar clusterAllReplicas() para pesquisar em todos os nós e a função de tabela merge() para usar um padrão regex na pesquisa em várias tabelas.
O exemplo a seguir mostra como consultar todas as tabelas com o prefixo query_log:
EXCEPT para excluir colunas que talvez não estejam presentes em diferentes tabelas.
exemplo: