Executable pool allows loading data from a pool of processes.
This source does not work with dictionary layouts that need to load all data from source.
Executable pool works if the dictionary is stored using one of the following layouts:
cache
complex_key_cache
ssd_cache
complex_key_ssd_cache
direct
complex_key_direct
Executable pool will spawn a pool of processes with the specified command and keep them running until they exit. The program should read data from STDIN while it is available and output the result to STDOUT. It can wait for the next block of data on STDIN. ClickHouse will not close STDIN after processing a block of data, but will pipe another chunk of data when needed. The executable script should be ready for this way of data processing — it should poll STDIN and flush data to STDOUT early.
Example of settings:
Setting fields:
That dictionary source can be configured only via XML configuration. Creating dictionaries with executable source via DDL is disabled, otherwise, the DB user would be able to execute arbitrary binary on ClickHouse node. Last modified on June 12, 2026