Distributed DDL Queries (ON CLUSTER Clause)
By default, the
RENAME queries affect only the current server where they are executed. In a cluster setup, it is possible to run such queries in a distributed manner with the
ON CLUSTER clause.
For example, the following query creates the
Distributed table on each host in
CREATE TABLE IF NOT EXISTS all_hits ON CLUSTER cluster (p Date, i Int32) ENGINE = Distributed(cluster, default, hits)
In order to run these queries correctly, each host must have the same cluster definition (to simplify syncing configs, you can use substitutions from ZooKeeper). They must also connect to the ZooKeeper servers.
The local version of the query will eventually be executed on each host in the cluster, even if some hosts are currently not available.
The order for executing queries within a single host is guaranteed.