Pular para o conteúdo principal
Permite acessar todos os shards (configurados na seção remote_servers) de um cluster sem criar uma tabela Distributed. Apenas uma réplica de cada shard é consultada. Função clusterAllReplicas — igual a cluster, mas consulta todas as réplicas. Cada réplica em um cluster é usada como um shard/conexão independente.
Todos os clusters disponíveis estão listados na tabela system.clusters.

Sintaxe

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])

Argumentos

ArgumentosTipo
cluster_nameNome de um cluster usado para montar um conjunto de endereços e parâmetros de conexão para servidores remotos e locais; defina default se não for especificado.
db.table ou db, tableNome de um banco de dados e de uma tabela.
sharding_keyUma chave de sharding. Opcional. Deve ser especificada se o cluster tiver mais de um shard.

Valor retornado

O conjunto de dados proveniente dos clusters.

Usando macros

cluster_name pode conter macros — substituições entre {}. O valor da substituição é obtido na seção macros do arquivo de configuração do servidor. Exemplo:
SELECT * FROM cluster('{cluster}', default.example_table);

Uso e recomendações

Usar as funções de tabela cluster e clusterAllReplicas é menos eficiente do que criar uma tabela Distributed, porque, nesse caso, a conexão com o servidor é restabelecida a cada requisição. Ao processar um grande número de consultas, sempre crie a tabela Distributed com antecedência e não use as funções de tabela cluster e clusterAllReplicas. As funções de tabela cluster e clusterAllReplicas podem ser úteis nos seguintes casos:
  • Acessar um cluster específico para comparação de dados, depuração e testes.
  • Executar consultas em vários clusters e réplicas do ClickHouse para fins de pesquisa.
  • Requisições distribuídas pouco frequentes feitas manualmente.
As configurações de conexão, como host, port, user, password, compression e secure, são obtidas da seção de configuração <remote_servers>. Veja mais detalhes em Distributed engine.
Última modificação em 10 de junho de 2026