> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sincronizar com o ClickHouse usando o WalShadow

> Replique seus dados do Postgres para o ClickHouse com o WalShadow, um mecanismo de replicação nativo que lê diretamente do WAL do PostgreSQL

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </Frame>
    </div>;
};

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Em prévia privada'}
        </div>;
};

<PrivatePreviewBadge />

`WalShadow` é um mecanismo de replicação nativo para o ClickHouse Managed Postgres que lê diretamente do Write-Ahead Log (WAL) do PostgreSQL. Ele é otimizado para menor latência e workloads de alto throughput, entregando uma defasagem de replicação inferior a um segundo entre o Postgres e o ClickHouse. Seu desenvolvimento é aberto em [ClickHouse/walshadow](https://github.com/ClickHouse/walshadow).

`WalShadow` é um dos dois métodos de replicação disponíveis em **Sync to ClickHouse**. O outro, [ClickPipes](/docs/pt-BR/cloud/managed-postgres/clickpipes), é um pipeline de dados totalmente gerenciado. Escolha o `WalShadow` quando precisar da menor latência e da menor sobrecarga de replicação.

Quando o `WalShadow` estiver disponível para o seu service, um banner de **Private Preview** aparece na página **Overview**. Clique em **Configure WalShadow** para começar.

<Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/overview-banner.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=868266fa6f2514dcdbdaef9696e53327" alt="Página de visão geral do Postgres service exibindo o banner de private preview do WalShadow com os links Learn more e Configure WalShadow" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/overview-banner.webp" />

<Note>
  Antes de prosseguir, verifique se o seu Postgres service está acessível ao ClickHouse. O `WalShadow` se conecta diretamente ao ClickHouse service de destino, portanto você precisará de um ClickHouse user e uma senha com permissão para criar bancos de dados e tabelas.
</Note>

Para configurar a replicação, clique em **Sync to ClickHouse** na barra lateral do seu Postgres instance e, em seguida, clique em **Replicate data in ClickHouse**.

<Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/sync-landing.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=5932d900f2bd6438fa1ce524a3bc7979" alt="Página inicial de Sync to ClickHouse exibindo os métodos de replicação ClickPipes e WalShadow" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/sync-landing.webp" />

<Steps>
  <Step title="Selecione o mecanismo de replicação" id="select-replication-engine">
    Escolha **WalShadow** como mecanismo de replicação e clique em **Next**.

    <Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/select-engine.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=4c8138e85677394c695cc11a9455730b" alt="Etapa de seleção do mecanismo de replicação mostrando as opções ClickPipes e WalShadow, com WalShadow selecionado" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/select-engine.webp" />
  </Step>

  <Step title="Configure o serviço de replicação" id="configure-replication-service">
    Preencha as configurações de replicação:

    * **ClickHouse service**: selecione um ClickHouse service existente ou crie um novo
    * **Postgres database**: selecione o banco de dados de origem a ser replicado ou crie um novo
    * **Replication method**: escolha uma das opções:
      * **Carga inicial + CDC**: importa os dados existentes e mantém as tabelas atualizadas com as novas alterações (recomendado)
      * **Apenas carga inicial**: importação única dos dados existentes, sem atualizações contínuas
      * **CDC only**: ignora a importação inicial e captura apenas as novas alterações a partir de então

    <Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/configure-service.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=df2a577cb52e60eefc1fca5f887492f6" alt="Etapa de configuração do serviço de replicação mostrando as opções de ClickHouse service, banco de dados Postgres e método de replicação" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/configure-service.webp" />

    Clique em **Next** para prosseguir.
  </Step>

  <Step title="Selecione as tabelas a replicar" id="select-tables">
    Escolha um banco de dados de destino e selecione quais tabelas replicar:

    * **Destination database**: selecione um banco de dados ClickHouse existente ou crie um novo
    * **Tables**: expanda cada schema e selecione tabelas individuais ou ative **Select all tables**. Para cada tabela, você pode personalizar o **Destination table name** e ajustar as **Column settings**.
    * **ClickHouse user** e **ClickHouse password**: o `WalShadow` se conecta diretamente ao ClickHouse service de destino, portanto precisa de credenciais com permissão para criar o banco de dados e as tabelas de destino.

    <Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/select-tables.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=03d6e3f80a706c99f2082408ba3e7832" alt="Etapa de seleção de tabelas mostrando a seleção de schema e tabelas, nomes das tabelas de destino e credenciais do ClickHouse" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/select-tables.webp" />

    Clique em **Replicate data to ClickHouse** para iniciar a replicação.
  </Step>

  <Step title="Monitore o WalShadow" id="monitor-walshadow">
    Depois de iniciar a replicação, o `WalShadow` aparece na página **Sync to ClickHouse**. Seu status fica como **Creating** enquanto o pipeline é provisionado e a carga inicial é preparada.

    <Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/walshadow-creating.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=caead405c1e77d03f529034584be0289" alt="Página Sync to ClickHouse mostrando o WalShadow no estado Creating" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/walshadow-creating.webp" />

    Concluído o provisionamento, o status muda para **Running**. A página exibe métricas em tempo real da replicação:

    * **Status**: o estado atual do pipeline (por exemplo, `Running`)
    * **Rows synced**: o número total de linhas replicadas para o ClickHouse
    * **Backfills pending**: o número de tabelas que ainda aguardam sua carga inicial
    * **Lag**: o volume de dados de WAL que ainda falta aplicar
    * **Lag time**: o quanto o destino está atrasado em relação ao Postgres no momento
    * **Uptime**: há quanto tempo o pipeline está em execução
    * **Last updated**: quando as métricas foram reportadas pela última vez

    <Image img="https://mintcdn.com/private-7c7dfe99/1IUPNo0kgSNuyelj/images/managed-postgres/walshadow/walshadow-running.webp?fit=max&auto=format&n=1IUPNo0kgSNuyelj&q=85&s=2bb2a79206e83ac4ef801f944b97602f" alt="Página Sync to ClickHouse mostrando o WalShadow no estado Running com métricas de linhas sincronizadas, defasagem e uptime" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/walshadow-running.webp" />
  </Step>
</Steps>

<h2 id="caveats">
  Ressalvas
</h2>

Alguns pontos a observar enquanto o `WalShadow` está em Private Preview:

* Por enquanto, apenas um `WalShadow` por Postgres service.
* Operações e métricas mais detalhadas estão no roadmap.
