Pular para o conteúdo principal
O uso de arquivos executáveis depende de como o dicionário é armazenado na memória. Se o dicionário for armazenado com cache e complex_key_cache, o ClickHouse solicita as chaves necessárias enviando uma requisição para a STDIN do arquivo executável. Caso contrário, o ClickHouse inicia o arquivo executável e trata a saída dele como dados do dicionário. Exemplo de configurações:
SOURCE(EXECUTABLE(
    command 'cat /opt/dictionaries/os.tsv'
    format 'TabSeparated'
    implicit_key false
))
Campos de configuração:
SettingDescription
commandO caminho absoluto para o arquivo executável, ou o nome do arquivo (se o diretório do comando estiver no PATH).
formatO formato do arquivo. Todos os formatos descritos em Formatos são compatíveis.
command_termination_timeoutO script executável deve conter um loop principal de leitura e escrita. Depois que o dicionário é destruído, o pipe é fechado, e o arquivo executável terá command_termination_timeout segundos para encerrar antes que o ClickHouse envie um sinal SIGTERM ao processo filho. Especificado em segundos. O valor padrão é 10. Opcional.
command_read_timeoutTempo limite para ler dados do stdout do comando, em milissegundos. Valor padrão: 10000. Opcional.
command_write_timeoutTempo limite para gravar dados no stdin do comando, em milissegundos. Valor padrão: 10000. Opcional.
implicit_keyA fonte executável pode retornar apenas valores, e a correspondência com as chaves solicitadas é determinada implicitamente pela ordem das linhas no resultado. O valor padrão é false.
execute_directSe execute_direct = 1, command será procurado no diretório user_scripts especificado por user_scripts_path. Argumentos adicionais do script podem ser especificados separados por espaço em branco. Exemplo: script_name arg1 arg2. Se execute_direct = 0, command é passado como argumento para bin/sh -c. O valor padrão é 0. Opcional.
send_chunk_headerControla se a contagem de linhas deve ser enviada antes de enviar um fragmento de dados ao processo. O valor padrão é false. Opcional.
Essa fonte de dicionário pode ser configurada apenas por meio de configuração XML. A criação de dicionários com fonte executável via DDL é desabilitada; caso contrário, o usuário do banco de dados poderia executar binários arbitrários no nó do ClickHouse.
Última modificação em 10 de junho de 2026