Перейти к основному содержанию
Позволяет обращаться ко всем сегментам (настроенным в разделе remote_servers) кластера без создания таблицы Distributed. Запрос выполняется только к одной реплике каждого сегмента. Функция clusterAllReplicas — то же, что и cluster, но запросы выполняются ко всем репликам. Каждая реплика в кластере используется как отдельный сегмент/соединение.
Все доступные кластеры перечислены в таблице system.clusters.

Синтаксис

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Имя кластера, используемое для формирования набора адресов и параметров подключения к удалённым и локальным серверам; если не указано, устанавливается default.
db.table or db, tableИмя базы данных и таблицы.
sharding_keyКлюч сегментирования. Необязательный. Должен быть указан, если в кластере более одного сегмента.

Возвращаемое значение

Данные из кластеров.

Использование макросов

cluster_name может содержать макросы — подстановки в {}. Подставляемое значение берётся из раздела macros файла конфигурации сервера. Пример:
SELECT * FROM cluster('{cluster}', default.example_table);

Использование и рекомендации

Использовать табличные функции cluster и clusterAllReplicas менее эффективно, чем создавать таблицу Distributed, поскольку в этом случае подключение к серверу заново устанавливается для каждого запроса. При обработке большого числа запросов всегда заранее создавайте таблицу Distributed и не используйте табличные функции cluster и clusterAllReplicas. Табличные функции cluster и clusterAllReplicas могут быть полезны в следующих случаях:
  • Доступ к определённому кластеру для сравнения данных, отладки и тестирования.
  • Запросы к различным кластерам и репликам ClickHouse в исследовательских целях.
  • Нечастые распределённые запросы, выполняемые вручную.
Параметры подключения, такие как host, port, user, password, compression, secure, берутся из раздела конфигурации <remote_servers>. Подробности см. в разделе движок Distributed.
Последнее изменение 10 июня 2026 г.