Você pode seguir este caminho por conta própria, automatizá-lo com um script ou entregá-lo a um agente de IA. Alterne para a visualização Cloud UI para ver a versão no console.Esta página aborda o provisionamento do ClickHouse Managed Postgres, o carregamento de dados, a replicação para o ClickHouse e a execução de consultas, tudo pela linha de comando com a ClickHouse CLI (Instale a ClickHouse CLI:Você também precisa do Como alternativa, defina as variáveis de ambiente Crie o serviço e salve a resposta; a senha é exibida apenas uma vez:A resposta inclui o ID do serviço, o hostname e uma string de conexão pronta para uso:Extraia o que será necessário para o restante deste guia:Se a senha for perdida, gere uma nova com O Provisioning leva alguns minutos. Verifique periodicamente até que o estado seja Crie duas tabelas e insira 1 milhão de eventos usando o A inserção de 1 milhão de linhas leva cerca de 7 segundos no Crie um serviço na mesma região e salve a resposta; a senha aparece apenas na resposta de criação:Aguarde até que ele esteja em execução; o ClickPipe requer um destino em execução:Para usar um serviço existente, defina Crie um Postgres CDC ClickPipe no serviço do ClickHouse, apontando para o hostname do Managed Postgres. O pipe copia as linhas existentes e, em seguida, mantém o ClickHouse sincronizado com as alterações contínuas:Notas:Aguarde o pipe atingir o status
O pipe passa por Execute SQL diretamente no serviço do ClickHouse pela CLI. A primeira chamada cria automaticamente um endpoint da Query API e uma chave de API com escopo no serviço:Novas gravações no Postgres são replicadas continuamente. Insira uma linha e faça consultas até que a contagem atinja 1,000,001 (normalmente em menos de um minuto):A extensão O heredoc está sem aspas de propósito, para que o shell substitua Exclua primeiro o ClickPipe e depois o serviço Postgres. Ao excluir um serviço, todos os dados dele são removidos permanentemente:Um serviço do ClickHouse em execução não pode ser excluído diretamente. Pare-o, aguarde até
clickhousectl) e psql. Os comandos são não interativos; o clickhousectl gera JSON com --json.Pré-requisitos
psql (ferramentas do cliente PostgreSQL; no macOS, brew install libpq) e do jq.Operações de escrita (criação, exclusão) exigem autenticação por chave de API; o login via OAuth é somente leitura:CLICKHOUSE_CLOUD_API_KEY e CLICKHOUSE_CLOUD_API_SECRET. Verifique com clickhousectl cloud auth status; deve haver uma entrada com escopo read/write.Parte 1: Criar o Postgres e carregar os dados
Criar um serviço Postgres
clickhousectl cloud postgres reset-password $PG_ID --generate.Aguarde o provisionamento do serviço
running:Carregar dados de exemplo
psql:c6gd.large (a menor configuração), graças ao armazenamento NVMe. Verifique com uma consulta; a contagem de linhas varia entre as execuções porque os dados são gerados com random():Parte 2: Replicar para o ClickHouse
Criar um serviço do ClickHouse
CH_ID a partir de clickhousectl cloud service list e CH_PASSWORD como a senha do usuário default, que é necessária para a etapa pg_clickhouse.Replique as tabelas para o ClickHouse
- As tabelas replicadas são gravadas no banco de dados
defaultdo serviço do ClickHouse, com os nomes definidos pelos destinos de--table-mapping - A publication e o replication slot são criados automaticamente, com a publication restrita às tabelas mapeadas; passe
--publication-namepara usar uma gerenciada por você - Use o hostname direto do Postgres; a replicação não é compatível com o PgBouncer
Aguarde o pipe atingir o status Running
Provisioning, Setup e, no caso de tabelas maiores, Snapshot antes de atingir Running, o que leva cerca de 4 minutos para o primeiro pipe em um service. Failed e InternalError são estados terminais:Consulte os dados replicados no ClickHouse
Consultar o ClickHouse no Postgres
pg_clickhouse permite que o Postgres atue como uma camada unificada de consulta para dados transacionais e analíticos. Obtenha o hostname HTTPS do ClickHouse e, em seguida, configure a extensão usando o psql:$CH_HOST e $CH_PASSWORD antes que o SQL chegue ao Postgres. As tabelas replicadas agora estão visíveis como tabelas estrangeiras no schema organization; as consultas sobre elas são executadas no ClickHouse.Em testes no c6gd.large com este conjunto de dados, as consultas analíticas são executadas de 6 a 9 vezes mais rápido por meio das tabelas estrangeiras (por exemplo, um GROUP BY com 5 agregações: 176 ms via ClickHouse vs 1.133 ms localmente; um JOIN com agregações: 298 ms vs 2.764 ms).Limpeza
stopped e depois exclua: