---
metadata:
  - name: generator
    content: Diplodoc Platform v5.63.0
alternate:
  - en/operations/connection/create-clickhouse
  - ru/operations/connection/create-clickhouse
  - href: ru/operations/connection/create-clickhouse.md
    type: text/markdown
    title: Markdown version
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/operations/connection/create-clickhouse.html
title: Как создать подключение к ClickHouse® в DataLens On-premises
description: >-
  Следуя данной инструкции, вы сможете создать подключение к ClickHouse® в
  DataLens On-premises.
vcsPath: ru/operations/connection/create-clickhouse.md
---

# Создание подключения к ClickHouse® в DataLens On-premises

{% note info %}

Все запросы к данным выполняются с включенным флагом [join_use_nulls](https://clickhouse.com/docs/ru/operations/settings/settings#join_use_nulls). Ознакомьтесь с разделом [Особенности работы с подключением к ClickHouse®](#ch-connection-specify), если вы используете представления (VIEW) или подзапросы с секцией JOIN в DataLens.

{% endnote %}



Чтобы создать подключение к ClickHouse®:

1. Перейдите на страницу [воркбука](../../workbooks-collections/index.md) или создайте новый.
1. В правом верхнем углу нажмите **Создать** → **Подключение**.
1. Выберите подключение **ClickHouse®**.
1. Укажите параметры подключения для внешней БД ClickHouse®:

   {% include [datalens-db-connection-parameters](../../_includes/datalens/datalens-db-connection-parameters.md) %}

   ![image](../../_assets/datalens/operations/connection/connection-clickhouse-ent.png)

1. (опционально) Проверьте работоспособность подключения. Для этого нажмите кнопку **Проверить подключение**.
1. Нажмите кнопку **Создать подключение**.
1. Укажите название подключения и нажмите кнопку **Создать**.


## Дополнительные настройки {#clickhouse-additional-settings}

Вы можете указать дополнительные параметры подключения в разделе **Продвинутые настройки подключения**:

* **TLS** — когда опция включена, при взаимодействии с БД используется протокол `HTTPS`, когда выключена — `HTTP`.

* **CA Certificate** — чтобы загрузить сертификат, нажмите кнопку **Прикрепить файл** и укажите файл сертификата. Когда сертификат загружен, поле отображает название файла.

* <!-- source: ru/_includes/datalens/operations/datalens-db-connection-export-settings-item.md -->
  **Запрет на экспорт данных** — когда опция включена, в чартах на базе этого подключения в меню <!-- diplodoc:svg ![icon](../../_assets/console-icons/ellipsis.svg) --><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M3 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M9.5 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m5 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0" clip-rule="evenodd"/></svg> пункт экспорта данных будет недоступен. При этом останется возможность копировать данные из чартов, а также снимать скриншоты.
  <!-- endsource: ru/_includes/datalens/operations/datalens-db-connection-export-settings-item.md -->

* **Readonly** — выберите разрешение для запросов на чтение данных, запись данных и изменение параметров. Значение этой настройки не должно превышать значение соответствующей настройки для пользователя в ClickHouse®:

  * `0` — разрешены все запросы.
  * `1` — разрешены только запросы на чтение данных.
  * `2` — разрешены запросы на чтение данных и изменение настроек.


## Особенности работы с подключением к ClickHouse® {#ch-connection-specify}

Вы можете создавать датасеты поверх представлений (`VIEW`) в ClickHouse®, содержащих секцию `JOIN`. Для этого представление должно быть создано с включенной опцией `join_use_nulls`. Рекомендуется выставлять настройку `join_use_nulls = 1` в секции `SETTINGS`:

```sql
CREATE VIEW ... (
    ...
) AS
    SELECT
        ...
    FROM
        ...
    SETTINGS join_use_nulls = 1
```

Также следует включать эту опцию для подзапросов raw-sql, которые используются как источник данных в датасете.

Чтобы избежать ошибок при работе с представлениями в DataLens, содержащими секцию JOIN, создайте заново все представления с настройкой `join_use_nulls = 1`. Пустые ячейки при этом заполнятся значениями `NULL`, а тип соответствующих полей преобразуется в [Nullable](https://clickhouse.com/docs/ru/sql-reference/data-types/nullable#data_type-nullable).

<!-- source: ru/_includes/clickhouse-disclaimer.md -->
_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._
<!-- endsource: ru/_includes/clickhouse-disclaimer.md -->


{% included (../../_includes/datalens/datalens-db-connection-parameters.md) %}
- **Имя хоста**. Укажите путь до хоста-мастера или IP-адрес хоста-мастера ClickHouse®. Вы можете указать несколько хостов через запятую. Если к первому хосту подключиться не получится, DataLens выберет следующий из списка.
- **Порт HTTP-интерфейса**. Укажите порт подключения к ClickHouse®. Порт по умолчанию — 8443.
- **Имя пользователя**. Укажите имя пользователя для подключения к ClickHouse®.

  <!-- source: ru/_includes/datalens/datalens-db-note.md -->
  {% note warning %}
                
   У пользователя должно быть установлено одно из следующих значений параметра [readonly](https://clickhouse.com/docs/ru/operations/settings/permissions-for-queries#settings_readonly):
           
    * `0` — разрешены все запросы.
    * `1` — разрешены только запросы на чтение данных. В этом случае в [настройках](https://clickhouse.com/docs/ru/operations/settings/settings) ClickHouse® укажите:

      * `join_use_nulls = 1`
      * `send_progress_in_http_headers = 0`
      * `output_format_json_quote_denormals = 1`

      Для использования разрешения в DataLens в дополнительных настройках подключения для параметра `Readonly` выберите значение `1`.

    * `2` — разрешены запросы на чтение данных и изменение настроек.
            
  {% endnote %}
  <!-- endsource: ru/_includes/datalens/datalens-db-note.md -->

- **Пароль**. Укажите пароль для пользователя.
- **Время жизни кеша в секундах**. Укажите время жизни кеша или оставьте значение по умолчанию. Рекомендованное значение — 300 секунд (5 минут).

<!-- source: ru/_includes/datalens/datalens-db-connection-sql-level-3.md -->
* **Уровень доступа SQL-запросов**. Позволяет использовать произвольный SQL-запрос для [формирования датасета](../../dataset/settings.md#sql-request-in-datatset). По умолчанию опция отключена. При активации необходимо выбрать уровень доступа SQL-запросов:

   * **Только подзапросы** — описывать источники датасета с помощью [SQL-запросов](../../dataset/settings.md#sql-request-in-datatset).
   * **Подзапросы и параметры** — описывать источники датасета с помощью SQL-запросов и использовать [параметризацию источников](../../dataset/settings.md#parametrization).
   * **SQL на чтение** — описывать источники датасета с помощью SQL-запросов, использовать параметризацию источников, [создавать QL-чарты](../../concepts/chart/ql-charts.md) и выполнять SQL-запросы на чтение.
<!-- endsource: ru/_includes/datalens/datalens-db-connection-sql-level-3.md -->

{% endincluded %}
{% included (../../_includes/datalens/datalens-db-connection-parameters.md:datalens-db-note.md) %}
{% note warning %}
              
 У пользователя должно быть установлено одно из следующих значений параметра [readonly](https://clickhouse.com/docs/ru/operations/settings/permissions-for-queries#settings_readonly):
         
  * `0` — разрешены все запросы.
  * `1` — разрешены только запросы на чтение данных. В этом случае в [настройках](https://clickhouse.com/docs/ru/operations/settings/settings) ClickHouse® укажите:

    * `join_use_nulls = 1`
    * `send_progress_in_http_headers = 0`
    * `output_format_json_quote_denormals = 1`

    Для использования разрешения в DataLens в дополнительных настройках подключения для параметра `Readonly` выберите значение `1`.

  * `2` — разрешены запросы на чтение данных и изменение настроек.
          
{% endnote %}
{% endincluded %}
{% included (../../_includes/datalens/datalens-db-connection-parameters.md:./datalens-db-connection-sql-level-3.md) %}
* **Уровень доступа SQL-запросов**. Позволяет использовать произвольный SQL-запрос для [формирования датасета](../../dataset/settings.md#sql-request-in-datatset). По умолчанию опция отключена. При активации необходимо выбрать уровень доступа SQL-запросов:

   * **Только подзапросы** — описывать источники датасета с помощью [SQL-запросов](../../dataset/settings.md#sql-request-in-datatset).
   * **Подзапросы и параметры** — описывать источники датасета с помощью SQL-запросов и использовать [параметризацию источников](../../dataset/settings.md#parametrization).
   * **SQL на чтение** — описывать источники датасета с помощью SQL-запросов, использовать параметризацию источников, [создавать QL-чарты](../../concepts/chart/ql-charts.md) и выполнять SQL-запросы на чтение.

{% endincluded %}