Управление базой данных
В Managed ClickHouse все управление базами данных выполняется с помощью SQL-запросов. С полным списком SQL-операторов ClickHouse вы можете ознакомиться в официальной документации ClickHouse.
Посмотреть список баз данных кластера
Запросите список баз данных из системной таблицы system.databases, которая содержит метаданные обо всех базах данных. Для этого используйте оператор SELECT и виртуальный движок clusterAllReplicas, который выполняет запрос к указанной таблице на всех узлах всех шардов заданного кластера.
Подключитесь к кластеру.
Выполните запрос:
sqlSELECT hostName() AS узел, name AS база_данных FROM clusterAllReplicas('{cluster}', system.databases);В запросе:
- Функция
hostName()возвращает имена узлов. Имена узлов и баз данных будут записаны в столбцы с псевдонимамиузелибаза_данных. - Имя кластера автоматически определяется макросом
{cluster}, заданным в конфигурации.
Посмотреть информацию о конкретной базе данных
Запросите из системной таблицы system.databases сведения о базе данных по ее имени. Для этого используйте оператор SELECT.
Подключитесь к кластеру.
Выполните запрос:
sqlSELECT * FROM system.databases WHERE name = '<имя базы данных>';В результате будут выведены метаданные и технические параметры базы данных.
Создать базу данных
Для создания базы данных используйте оператор CREATE.
Подключитесь к кластеру.
Выполните запрос:
sqlCREATE DATABASE IF NOT EXISTS <имя базы данных> ON CLUSTER '<имя кластера>' ENGINE = <движок> COMMENT '<комментарий>';Условия в запросе:
IF NOT EXISTS— предотвращает ошибку, если база данных с таким именем уже существует.ON CLUSTER— создает базу данных на всех узлах заданного кластера.ENGINE— задает тип движка базы данных. По умолчанию выбирается движок Atomic.COMMENT— комментарий.
Удалить базу данных
Для удаления базы данных используйте оператор DROP.
Подключитесь к кластеру.
Выполните запрос:
sqlDROP DATABASE [IF EXISTS] <имя базы данных> ON CLUSTER '<имя кластера>' SYNC;Условия в запросе:
IF EXISTS— предотвращает ошибку, если базы данных с таким именем не существует.ON CLUSTER— удаляет базу данных на всех узлах заданного кластера.
В результате база данных удалится вместе со всеми таблицами и данными со всех узлов. Управление вернется пользователю только после фактического завершения операции на всех узлах кластера.