Перейти к основному содержанию
Сервисы ClickHouse Managed Postgres можно создавать и управлять ими с помощью ресурса clickhouse_postgres_service в Terraform-провайдере ClickHouse. На этой странице описаны настройка провайдера и примеры конфигурации для этого ресурса и связанных с ним источников данных.
Этот ресурс находится на стадии альфа, и его поведение может измениться в будущих версиях провайдера. Он входит в стандартную сборку провайдера и доступен начиная с версии v3.17.1 — подробности см. в релизах провайдера.

Настройка провайдера

Добавьте провайдер ClickHouse в конфигурацию Terraform:
См. Управление ключами API, чтобы узнать, как создать ключ API для работы с провайдером.

Обзор ресурса

Ресурс clickhouse_postgres_service поддерживает следующие аргументы: Следующие атрибуты доступны только для чтения и заполняются ClickHouse Cloud после создания: id, state, created_at, is_primary, hostname, port, username и connection_string (чувствительные данные).
Значение password хранится в Terraform state в открытом виде. Поэтому state-файл нужно надёжно защитить — например, использовать удалённый backend с шифрованием при хранении. Если password не указан, сервер сгенерирует его, а провайдер будет заново считывать его в state при каждом обновлении.

Создайте сервис

Чтобы задать пароль самостоятельно, укажите password — он должен содержать не менее 12 символов, включая как минимум одну строчную букву, одну заглавную букву и одну цифру. Если не указывать этот параметр, сервер сгенерирует пароль автоматически.

Высокая доступность

Аргумент ha_type определяет количество резервных реплик: ha_type можно изменять после создания; его изменение вызывает переход HA. Подробности см. в разделе Высокая доступность.

Реплики для чтения

Задайте read_replica_of равным id основного сервиса, чтобы создать стриминговую реплику для чтения. Реплика наследует cloud_provider, region, postgres_version и superuser основного сервиса — не указывайте эти параметры (и password):
Подробнее см. в разделе реплики для чтения.

Восстановление на определённый момент времени

Задайте restore_to_point_in_time, чтобы создать сервис, восстановив резервную копию другого сервиса на указанный момент времени. Параметры cloud_provider, region и postgres_version наследуются от исходного сервиса, поэтому их указывать не нужно; size и ha_type также следует опустить:
Весь этот блок используется только на этапе создания: изменение source_id или restore_target, а также удаление блока приводят к удалению и повторному созданию сервиса. Подробности см. в разделе Резервное копирование и восстановление.

Источники данных

Три дополнительных источника данных позволяют найти существующие сервисы:

Импорт существующих сервисов

Существующие сервисы Managed Postgres можно импортировать в состояние Terraform по идентификатору сервиса. Пароль восстанавливается при импорте — сервер возвращает его в ответ на GET-запрос:

Неподдерживаемые операции

Следующее намеренно не включено в схему ресурса:
  • Операционные команды (restart, promote, switchover).
  • Списки разрешённых IP-адресов, частные конечные точки, конфигурация резервного копирования, окна обслуживания, управляемые клиентом ключи шифрования и BYOC.
  • Настраиваемые тайм-ауты жизненного цикла — блока timeouts {} нет.
Последнее изменение 2 июля 2026 г.