跳转到主要内容
可通过 ClickHouse Terraform 提供商 中的 clickhouse_postgres_service 资源创建和管理 ClickHouse Managed Postgres 服务。本文介绍该资源及其配套数据源的 提供商 设置与配置示例。
此资源目前处于 alpha 阶段,其行为可能会在未来的 提供商 版本中发生变化。它随常规 提供商 build 一同发布,并从 提供商 版本 v3.17.1 开始可用——详情请参阅 提供商 发行版

提供商设置

将 ClickHouse 提供商添加到 Terraform 配置中:
有关如何创建供提供商使用的 API 密钥,请参阅管理 API 密钥

资源概览

clickhouse_postgres_service 资源具有以下参数: 以下属性为只读,并由 ClickHouse Cloud 在创建后填充:idstatecreated_atis_primaryhostnameportusernameconnection_string (敏感) 。
password 会以明文形式存储在你的 Terraform 状态 中。请相应保护好 state 文件——例如,使用启用静态加密的远程后端。如果省略 password,服务器会生成一个密码,并且提供商会在每次 refresh 时将其读回 state。

创建服务

如果要自行管理密码,请设置 password——其长度必须至少为 12 个字符,且至少包含一个小写字母、一个大写字母和一个数字。若省略,server 会自动生成一个。

高可用

ha_type 参数用于控制待机副本的数量: ha_type 在创建后仍可修改;更改该值会触发 HA 切换。详见 高可用

只读副本

要创建流式只读副本,请将 read_replica_of 设置为主服务的 id。副本会继承主服务的 cloud_providerregionpostgres_version 和超级用户——请省略这些字段 (以及 password) :
详情请参阅只读副本

时间点恢复

设置 restore_to_point_in_time,即可通过将另一项服务的备份恢复到某个时间点来创建服务。cloud_providerregionpostgres_version 继承自源服务 (请省略这些字段) ;sizeha_type 也必须省略:
整个配置块仅在创建时使用:更改 source_idrestore_target,或删除此配置块,都会销毁并重新创建该服务。详情请参阅备份与恢复

数据源

三个配套的数据源可帮助您查找现有服务:

导入现有服务

现有的 Managed Postgres 服务可以通过服务 ID 导入到 Terraform 状态中。导入时会一并恢复密码——服务器会在执行 GET 时回显该密码:

不支持的操作

以下内容刻意未纳入资源 schema:
  • 运维命令 (restart、promote、switchover) 。
  • IP 允许列表、专用终结点、备份配置、维护窗口、客户管理的加密密钥,以及 BYOC。
  • 不支持可配置的生命周期超时设置——不存在 timeouts {} 块。
最后修改于 2026年7月2日