Skip to main content
Les services ClickHouse Managed Postgres peuvent être créés et gérés à l’aide de la ressource clickhouse_postgres_service du fournisseur Terraform ClickHouse. Cette page présente la configuration du fournisseur ainsi que des exemples de configuration pour cette ressource et les sources de données associées.
Cette ressource est en alpha et son comportement peut évoluer dans les prochaines versions du fournisseur. Elle est incluse dans le build standard du fournisseur. Cette page documente la version v3.21.0 du fournisseur et les versions ultérieures, qui ont modifié la gestion des identifiants ; les versions antérieures se comportent différemment et, depuis le 31 juillet 2026, ne fonctionnent plus correctement. Consultez les releases du fournisseur pour plus de détails.
Mettez à niveau vers le fournisseur v3.21.0 avant le 31 juillet 2026Depuis le 31 juillet 2026, l’API Managed Postgres ne renvoie plus le mot de passe du superutilisateur ni la chaîne de connexion dans ses réponses ; les identifiants ne sont renvoyés que lors de la création d’un service ou de la réinitialisation de son mot de passe. Les versions du fournisseur v3.21.0 et ultérieures fonctionnent de manière identique avant et après ce changement. Les anciennes versions du fournisseur dépendent du fait que l’API renvoie les identifiants : depuis le 31 juillet 2026, elles ne renseignent plus connection_string, et un service créé sans password déclaré aboutit alors que le mot de passe généré n’est jamais récupéré.Mettez à niveau avant le 31 juillet 2026. Votre état migre automatiquement lors du premier plan ou apply avec v3.21.0. Si l’un de vos services s’appuie sur un mot de passe généré par le serveur (pas de password dans la configuration), récupérez-le d’abord avec terraform state pull et déclarez-le, car v3.21.0 exige password ou password_wo pour un service standard.

Configuration du fournisseur

Ajoutez le fournisseur ClickHouse à votre configuration Terraform :
Consultez Gérer les clés API pour savoir comment créer une clé API à utiliser avec le fournisseur.

Aperçu de la ressource

La ressource clickhouse_postgres_service accepte les arguments suivants : Les attributs suivants sont en lecture seule et sont renseignés par ClickHouse Cloud après la création : id, state, created_at, is_primary, hostname, port et username. Il n’existe pas d’attribut connection_string (supprimé dans la v3.21.0) : construisez les URI de connexion à partir de hostname, port, username et du mot de passe que vous déclarez, par exemple postgres://${username}:${password}@${hostname}:${port}/postgres?sslmode=require.
Le password est stocké en texte brut dans votre état Terraform. Protégez votre fichier d’état en conséquence, par exemple avec un backend distant utilisant le chiffrement au repos, ou utilisez password_wo pour que le mot de passe ne figure plus du tout dans l’état.

Créer un service

Un service standard doit déclarer password ou password_wo. La valeur doit contenir au moins 12 caractères, dont au moins une lettre minuscule, une lettre majuscule et un chiffre. password_wo (avec password_wo_version) applique les mêmes règles de mot de passe, mais n’est jamais stocké dans l’état ; modifiez password_wo_version pour effectuer la rotation. Comme l’API ne renvoie pas les identifiants, Terraform doit rester le seul à définir le mot de passe : un mot de passe dont la rotation est effectuée en dehors de Terraform (console ou API) n’est pas détecté, et la rotation suivante pilotée par Terraform réapplique la valeur déclarée.

Haute disponibilité

L’argument ha_type détermine le nombre de répliques de secours : ha_type peut être modifié après la création ; le changer déclenche une transition de haute disponibilité. Voir Haute disponibilité pour plus de détails.

Répliques de lecture

Définissez read_replica_of sur l’id d’un service principal pour créer une réplique de lecture en streaming. Une réplique hérite du cloud_provider, de la région, de la postgres_version et du superutilisateur du principal — ne les indiquez donc pas (ni le password) :
Consultez les répliques en lecture pour en savoir plus.

Restauration à un instant donné

Définissez restore_to_point_in_time pour créer un service en restaurant la sauvegarde d’un autre service à un instant donné. cloud_provider, region et postgres_version sont hérités du service source (ne les indiquez pas) ; size et ha_type doivent être omis :
L’ensemble du bloc s’applique uniquement à la création : modifier source_id ou restore_target, ou supprimer le bloc, détruit puis recrée le service. Consultez Sauvegarde et restauration pour plus de détails.

Sources de données

Trois sources de données associées vous permettent de retrouver des services existants :

Importation de services existants

Les services Managed Postgres existants peuvent être importés dans l’état Terraform à l’aide de l’ID du service :
L’importation ne restaure pas le mot de passe (l’API ne le renvoie pas). Après l’importation, le premier apply fait passer le service au password ou password_wo déclaré dans votre configuration.

Opérations non prises en charge

Les éléments suivants sont volontairement absents du schéma de ressource :
  • Commandes opérationnelles (restart, promote, switchover).
  • Listes d’autorisation d’IP, points de terminaison privés, configuration des sauvegardes, fenêtres de maintenance, clés de chiffrement gérées par le client et BYOC.
  • Délais d’expiration du cycle de vie configurables — il n’existe pas de bloc timeouts {}.
Dernière modification le 24 juillet 2026