Skip to main content
Os serviços do ClickHouse Managed Postgres podem ser criados e gerenciados usando o recurso clickhouse_postgres_service no provider Terraform do ClickHouse. Esta página aborda a configuração do provider e traz exemplos de configuração para o recurso e suas fontes de dados correspondentes.
Este recurso está em alpha, e seu comportamento pode mudar em versões futuras do provider. Ele é distribuído na compilação regular do provider. Esta página documenta a versão v3.21.0 do provider e posteriores, que alteraram a forma como as credenciais são gerenciadas; versões anteriores se comportam de forma diferente e, desde 31 de julho de 2026, não funcionam mais corretamente. Consulte os lançamentos do provider para mais detalhes.
Faça upgrade para o provider v3.21.0 antes de 31 de julho de 2026Desde 31 de julho de 2026, a API do Managed Postgres deixou de retornar a senha do superusuário e a string de conexão em suas respostas; as credenciais são retornadas apenas quando um serviço é criado ou sua senha é redefinida. As versões v3.21.0 e posteriores do provider funcionam de forma idêntica antes e depois dessa alteração. Versões mais antigas do provider dependem de a API repetir as credenciais: desde 31 de julho de 2026, elas não preenchem mais connection_string, e um serviço criado sem uma password declarada é criado com sucesso, enquanto a senha gerada nunca é capturada em nenhum lugar.Faça upgrade antes de 31 de julho de 2026. Seu estado é migrado automaticamente no primeiro plan ou apply com a v3.21.0. Se algum dos seus serviços depender de uma senha gerada pelo servidor (sem password na configuração), recupere-a primeiro com terraform state pull e declare-a, pois a v3.21.0 exige password ou password_wo para um serviço padrão.

Configuração do provider

Adicione o provider ClickHouse na sua configuração do Terraform:
Consulte Como gerenciar chaves de API para ver instruções sobre como criar uma chave de API para usar com o provider.

Visão geral do recurso

O recurso clickhouse_postgres_service tem os seguintes argumentos: Os seguintes atributos são somente leitura e são preenchidos pelo ClickHouse Cloud após a criação: id, state, created_at, is_primary, hostname, port e username. Não há atributo connection_string (removido na v3.21.0): monte URIs de conexão a partir de hostname, port, username e da senha que você declarar, por exemplo postgres://${username}:${password}@${hostname}:${port}/postgres?sslmode=require.
A password é armazenada em texto simples no seu estado do Terraform. Proteja seu arquivo de estado adequadamente, por exemplo com um backend remoto usando criptografia em repouso, ou use password_wo para manter a senha totalmente fora do estado.

Criar um serviço

Um serviço padrão deve declarar password ou password_wo. O valor deve ter pelo menos 12 caracteres, incluindo ao menos uma letra minúscula, uma letra maiúscula e um dígito. password_wo (com password_wo_version) aplica as mesmas regras de senha, mas nunca é armazenado no estado; altere password_wo_version para rotacionar a senha. Como a API não retorna credenciais, o Terraform deve continuar sendo o único a gravar a senha: uma senha rotacionada fora do Terraform (Console ou API) não é detectada, e a próxima rotação acionada pelo Terraform reaplica o valor declarado.

Alta disponibilidade

O argumento ha_type controla o número de réplicas em standby: ha_type pode ser alterado após a criação; mudá-lo aciona uma transição de HA. Consulte Alta disponibilidade para mais detalhes.

Réplicas de leitura

Defina read_replica_of como o id de um serviço primário para criar uma réplica de leitura via streaming. A réplica herda cloud_provider, region, postgres_version e o superusuário do primário — omita esses campos (e password):
Consulte réplicas de leitura para obter mais detalhes.

Restauração para um ponto no tempo

Defina restore_to_point_in_time para criar um serviço restaurando o backup de outro serviço para um ponto específico no tempo. cloud_provider, region e postgres_version são herdados do serviço de origem (omita-os); size e ha_type devem ser omitidos:
O bloco inteiro só pode ser usado na criação: alterar source_id ou restore_target, ou remover o bloco, destrói e recria o serviço. Consulte Backup e restauração para mais detalhes.

Fontes de dados

Três fontes de dados complementares permitem consultar serviços existentes:

Importando serviços existentes

Os serviços Managed Postgres existentes podem ser importados para o estado do Terraform usando o ID do serviço:
A importação não recupera a senha (a API não a retorna). Após a importação, o primeiro apply faz a rotação do serviço para a password ou password_wo definidos na sua configuração.

Operações não suportadas

Os itens a seguir estão intencionalmente ausentes do schema do recurso:
  • Comandos operacionais (restart, promote, switchover).
  • Listas de IPs permitidos, endpoints privados, configuração de backup, janelas de manutenção, chaves de criptografia gerenciadas pelo cliente e BYOC.
  • Timeouts de ciclo de vida configuráveis — não há bloco timeouts {}.
Última modificação em 24 de julho de 2026