Allows to access all shards in an existing cluster which configured in
remote_servers section without creating a Distributed table. One replica of each shard is queried.
clusterAllReplicas - same as
cluster but all replicas are queried. Each replica in a cluster is used as separate shard/connection.
All available clusters are listed in the
cluster('cluster_name', db.table[, sharding_key]) cluster('cluster_name', db, table[, sharding_key]) clusterAllReplicas('cluster_name', db.table[, sharding_key]) clusterAllReplicas('cluster_name', db, table[, sharding_key])
cluster_name – Name of a cluster that is used to build a set of addresses and connection parameters to remote and local servers.
sharding_key - When insert into cluster function with more than one shard, sharding_key need to be provided.
clusterAllReplicas table functions are less efficient than creating a
Distributed table because in this case, the server connection is re-established for every request. When processing a large number of queries, please always create the
Distributed table ahead of time, and don’t use the
clusterAllReplicas table functions.
clusterAllReplicas table functions can be useful in the following cases:
- Accessing a specific cluster for data comparison, debugging, and testing.
- Queries to various ClickHouse clusters and replicas for research purposes.
- Infrequent distributed requests that are made manually.
Connection settings like
secure are taken from
<remote_servers> config section. See details in Distributed engine.