Skip to main content
ClickHouse Managed Postgres サービスは、ClickHouse Terraform プロバイダーclickhouse_postgres_service リソースを使用して作成および管理できます。このページでは、このリソースと関連するデータソースについて、プロバイダーのセットアップと設定例を説明します。
このリソースはアルファ段階であり、今後のプロバイダー バージョンで動作が変更される可能性があります。通常のプロバイダー ビルドに含まれています。このページでは、認証情報の管理方法が変更されたプロバイダー バージョン v3.21.0 以降を説明しています。以前のバージョンは動作が異なり、2026 年 7 月 31 日時点では正しく動作しなくなっています。詳細は プロバイダーのリリース を参照してください。
2026 年 7 月 31 日までにプロバイダー v3.21.0 にアップグレードしてください2026 年 7 月 31 日 時点で、Managed Postgres API はレスポンスで スーパーユーザー の password と接続文字列を返さなくなりました。認証情報が返されるのは、サービスの作成時または password のリセット時のみです。プロバイダー バージョン v3.21.0 以降 は、この変更の前後で同様に動作します。古いプロバイダー バージョンは、API が認証情報をそのまま返すことに依存しています。2026 年 7 月 31 日時点で、それらは connection_string を設定しなくなっており、password を設定で宣言せずに作成されたサービスは成功する一方で、生成された password はどこにも記録されません。2026 年 7 月 31 日までにアップグレードしてください。v3.21.0 で最初に plan または apply を実行した際に、Terraform state は自動的に移行されます。いずれかのサービスが server によって生成された password (設定に password がない) に依存している場合は、v3.21.0 では標準サービスに password または password_wo が必要になるため、先に terraform state pull でそれを復旧して宣言してください。

プロバイダーの設定

ClickHouse プロバイダーを Terraform の設定に追加します。
プロバイダーで使用するための API キーを作成する手順については、API キーの管理 を参照してください。

リソースの概要

clickhouse_postgres_service リソースでは、以下の引数を使用できます。 以下の属性は読み取り専用で、作成後に ClickHouse Cloud によって設定されます: idstatecreated_atis_primaryhostnameport、および usernameconnection_string 属性はありません (v3.21.0 で削除されました)。接続 URI は、たとえば postgres://${username}:${password}@${hostname}:${port}/postgres?sslmode=require のように、hostnameportusername、および宣言したパスワードから構築してください。
password は Terraform の state に平文で保存されます。そのため、state file は適切に保護してください。たとえば、保存時暗号化を使用するリモート backend を利用する方法があります。あるいは、パスワードを完全に state から除外するために password_wo を使用してください。

サービスを作成する

標準のサービスでは、password または password_wo を宣言する必要があります。値は 12 文字以上で、少なくとも小文字 1 文字、大文字 1 文字、数字 1 文字を含める必要があります。password_wo (password_wo_version と併用) は同じパスワード規則を適用しますが、state には保存されません。ローテーションするには、password_wo_version を変更してください。API は認証情報を返さないため、Terraform がパスワードを書き込む唯一の手段であり続ける必要があります。Terraform の外部 (コンソールまたは API) でローテーションされたパスワードは検出されず、次回 Terraform によって実行されるローテーションで、宣言された値があらためて適用されます。

高可用性

ha_type 引数は、スタンバイ レプリカの数を制御します。 ha_type は作成後も変更可能で、変更すると HA の切り替えが発生します。詳しくは 高可用性 を参照してください。

読み取りレプリカ

ストリーミング読み取りレプリカを作成するには、read_replica_of にプライマリサービスの id を設定します。レプリカはプライマリの cloud_providerregionpostgres_version、およびスーパーユーザーを継承するため、これら (および password) は指定しないでください。
詳細は、読み取りレプリカを参照してください。

ポイントインタイム復元

別のサービスのバックアップを特定時点に復元してサービスを作成するには、restore_to_point_in_time を設定します。cloud_providerregionpostgres_version は元のサービスから引き継がれるため指定不要です。sizeha_type も指定できません:
このブロック全体は作成時にのみ指定できます。source_id または restore_target を変更するか、ブロックを削除すると、サービスは削除されて再作成されます。詳しくは バックアップと復元 を参照してください。

データソース

既存のサービスを参照できる補助的なデータソースが3つあります:

既存のサービスのインポート

既存の Managed Postgres サービスは、service ID を使って Terraform state にインポートできます。
インポート時にはパスワードは復元されません。これは、API がその値を返さないためです。インポート後、最初の apply で、サービスのパスワードは設定で宣言した password または password_wo に切り替えられます。

サポート対象外の操作

以下の項目は、リソース スキーマに意図的に含まれていません。
  • 運用コマンド (restart、promote、switchover) 。
  • IP許可リスト、プライベート エンドポイント、バックアップ設定、メンテナンス ウィンドウ、顧客管理暗号化キー、BYOC。
  • ライフサイクル タイムアウトは設定できません。timeouts {} ブロックはありません。
最終更新日 2026年7月24日