Skip to main content
Los servicios de ClickHouse Managed Postgres se pueden crear y administrar mediante el recurso clickhouse_postgres_service del proveedor de Terraform de ClickHouse. Esta página describe la configuración del proveedor y ofrece ejemplos de configuración para este recurso y sus fuentes de datos asociadas.
Este recurso está en alpha y su comportamiento puede cambiar en futuras versiones del proveedor. Se distribuye en el build habitual del proveedor. Esta página documenta la versión v3.21.0 del proveedor y posteriores, que cambiaron la forma en que se gestionan las credenciales; las versiones anteriores se comportan de forma diferente y, desde el 31 de julio de 2026, ya no funcionan correctamente. Consulta las releases del proveedor para más detalles.
Actualiza al proveedor v3.21.0 antes del 31 de julio de 2026A partir del 31 de julio de 2026, la API de Managed Postgres dejó de devolver la contraseña de superusuario y la connection string en sus respuestas; las credenciales solo se devuelven cuando se crea un servicio o se restablece su contraseña. Las versiones del proveedor v3.21.0 y posteriores funcionan de forma idéntica antes y después de este cambio. Las versiones anteriores del proveedor dependen de que la API devuelva las credenciales: desde el 31 de julio de 2026, ya no rellenan connection_string, y un servicio creado sin una password declarada se crea correctamente, mientras que la contraseña generada nunca se captura en ningún sitio.Actualiza antes del 31 de julio de 2026. Tu estado se migra automáticamente en el primer plan o apply con v3.21.0. Si alguno de tus servicios depende de una contraseña generada por el server (sin password en la configuración), recupérala primero con terraform state pull y declárala, ya que v3.21.0 requiere password o password_wo para un servicio estándar.

Configuración del proveedor

Añada el proveedor de ClickHouse a su configuración de Terraform:
Consulta Gestión de claves de API para ver instrucciones sobre cómo crear una clave de API para usarla con el proveedor.

Resumen del recurso

El recurso clickhouse_postgres_service tiene los siguientes argumentos: Los siguientes atributos son de solo lectura y ClickHouse Cloud los completa después de la creación: id, state, created_at, is_primary, hostname, port y username. No existe el atributo connection_string (eliminado en la versión v3.21.0): construya los URI de conexión a partir de hostname, port, username y la contraseña que declare, por ejemplo postgres://${username}:${password}@${hostname}:${port}/postgres?sslmode=require.
El valor de password se almacena en texto sin formato en el estado de Terraform. Proteja su archivo de estado en consecuencia, por ejemplo, con un backend remoto que use cifrado en reposo, o use password_wo para mantener la contraseña completamente fuera del estado.

Crear un servicio

Un servicio estándar debe declarar password o password_wo. El valor debe tener al menos 12 caracteres, con al menos una letra minúscula, una mayúscula y un dígito. password_wo (con password_wo_version) aplica las mismas reglas de contraseña, pero nunca se almacena en el estado; cambia password_wo_version para rotarla. Como la API no devuelve credenciales, Terraform debe seguir siendo el único que establezca la contraseña: una contraseña rotada fuera de Terraform (Console o API) no se detecta, y la siguiente rotación gestionada por Terraform vuelve a aplicar el valor declarado.

Alta disponibilidad

El argumento ha_type controla el número de réplicas standby: ha_type puede modificarse tras su creación; cambiarlo desencadena una transición de HA. Consulta Alta disponibilidad para obtener más información.

Réplicas de lectura

Establece read_replica_of con el id de un servicio primario para crear una réplica de lectura en streaming. Una réplica hereda el cloud_provider, la región, la postgres_version y el superusuario del primario; omítelos (y la contraseña):
Consulta réplicas de lectura para más información.

Restauración a un momento dado

Configura restore_to_point_in_time para crear un servicio restaurando la copia de seguridad de otro servicio a un momento determinado. cloud_provider, region y postgres_version se heredan del servicio de origen (omítelos); size y ha_type también deben omitirse:
Todo el bloque solo se usa durante la creación: cambiar source_id o restore_target, o eliminar el bloque, destruye y vuelve a crear el servicio. Consulta Copia de seguridad y restauración para más detalles.

Fuentes de datos

Tres fuentes de datos complementarias le permiten consultar los servicios existentes:

Importación de servicios existentes

Los servicios existentes de Managed Postgres se pueden importar al estado de Terraform mediante el ID del servicio:
La contraseña no se recupera al importar (la API no la devuelve). Después de importar, el primer apply cambia la contraseña del servicio a la password o password_wo declarada en su configuración.

Operaciones no admitidas

Los siguientes elementos se omiten intencionadamente del esquema del recurso:
  • Comandos operativos (restart, promote, switchover).
  • Listas de direcciones IP permitidas, endpoints privados, configuración de copias de seguridad, ventanas de mantenimiento, claves de cifrado gestionadas por el cliente y BYOC.
  • Tiempos de espera configurables del ciclo de vida: no hay ningún bloque timeouts {}.
Última modificación el 24 de julio de 2026