> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Synchroniser vers ClickHouse avec WalShadow

> Répliquez vos données Postgres vers ClickHouse avec WalShadow, un moteur de réplication natif qui lit directement le WAL de 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>
            {'Aperçu privé'}
        </div>;
};

<PrivatePreviewBadge />

`WalShadow` est un moteur de réplication natif pour ClickHouse Managed Postgres qui lit directement le journal d'écriture anticipée (WAL) de PostgreSQL. Il est optimisé pour une latency réduite et des workloads high-throughput, offrant un retard de réplication inférieur à la seconde entre Postgres et ClickHouse. Son développement est ouvert sur [ClickHouse/walshadow](https://github.com/ClickHouse/walshadow).

`WalShadow` est l'une des deux méthodes de réplication proposées sous **Sync to ClickHouse**. L'autre, [ClickPipes](/fr/cloud/managed-postgres/clickpipes), est un pipeline de données fully managed. Optez pour `WalShadow` lorsque vous recherchez la latency la plus faible et l'overhead de réplication le plus réduit.

Lorsque `WalShadow` est disponible pour votre service, une bannière **Private Preview** s'affiche sur la page **Overview**. Cliquez sur **Configure WalShadow** pour démarrer.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/overview-banner.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=81dfbd1832e869ec28da2fa33a3c6d9e" alt="Page Overview du Postgres service affichant la bannière private preview WalShadow avec les liens Learn more et Configure WalShadow" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/overview-banner.webp" />

<Note>
  Avant de poursuivre, assurez-vous que votre Postgres service est accessible depuis ClickHouse. `WalShadow` se connecte directement à votre ClickHouse service de destination : vous aurez donc besoin d'un ClickHouse user et d'un password disposant de la permission de créer des databases et des tables.
</Note>

Pour mettre en place la réplication, cliquez sur **Sync to ClickHouse** dans la barre latérale de votre instance Postgres, puis sur **Replicate data in ClickHouse**.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/sync-landing.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=78e1892ef7a31503586a0635e18be6fa" alt="Page d'accueil Sync to ClickHouse présentant les méthodes de réplication ClickPipes et WalShadow" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/sync-landing.webp" />

<Steps>
  <Step title="Sélectionner le moteur de réplication" id="select-replication-engine">
    Choisissez **WalShadow** comme moteur de réplication, puis cliquez sur **Next**.

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/select-engine.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=f8300818381fe1cbf5ea52562b50f62b" alt="Étape de sélection du moteur de réplication montrant les options ClickPipes et WalShadow, avec WalShadow sélectionné" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/select-engine.webp" />
  </Step>

  <Step title="Configurer le service de réplication" id="configure-replication-service">
    Renseignez les paramètres de réplication :

    * **ClickHouse service** : sélectionnez un ClickHouse service existant ou créez-en un nouveau
    * **Postgres database** : sélectionnez la source database à répliquer, ou créez-en une nouvelle
    * **Replication method** : choisissez l'une des options suivantes :
      * **chargement initial + CDC** : importer les données existantes et maintenir les tables à jour au fil des nouveaux changements (recommandé)
      * **chargement initial only** : import unique des données existantes, sans mises à jour ultérieures
      * **CDC only** : ignorer l'import initial et ne capturer que les nouveaux changements

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/configure-service.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=94a0c71c28ef3a31e2cfa0daa551ea81" alt="Étape de configuration du service de réplication montrant les options ClickHouse service, Postgres database et méthode de réplication" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/configure-service.webp" />

    Cliquez sur **Next** pour continuer.
  </Step>

  <Step title="Sélectionner les tables à répliquer" id="select-tables">
    Choisissez une base de données de destination et sélectionnez les tables à répliquer :

    * **Base de données de destination** : sélectionnez une base de données ClickHouse existante ou créez-en une nouvelle
    * **Tables** : dépliez chaque schema et sélectionnez les tables une à une, ou activez **Select all tables**. Pour chaque table, vous pouvez personnaliser le **Destination table name** et ajuster les **Column settings**.
    * **ClickHouse user** et **ClickHouse password** : `WalShadow` se connecte directement au ClickHouse service de destination ; il lui faut donc des credentials disposant de la permission de créer la base de données et les tables cibles.

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/select-tables.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=29b010e450a6340a932aedcda3fae1b9" alt="Étape de sélection des tables montrant la sélection du schema et des tables, les noms des tables de destination et les credentials ClickHouse" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/select-tables.webp" />

    Cliquez sur **Replicate data to ClickHouse** pour démarrer la réplication.
  </Step>

  <Step title="Surveiller WalShadow" id="monitor-walshadow">
    Une fois la réplication démarrée, `WalShadow` apparaît sur la page **Sync to ClickHouse**. Son statut reste **Creating** le temps que le pipeline soit provisionné et que l'chargement initial soit préparé.

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/walshadow-creating.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=5b95c778db8d48a093a6a32a9bcca30b" alt="Page Sync to ClickHouse montrant WalShadow à l'état Creating" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/walshadow-creating.webp" />

    Une fois le provisionnement terminé, le statut passe à **Running**. La page affiche en temps réel les metrics de la réplication :

    * **Status** : l'état actuel du pipeline (par exemple, `Running`)
    * **Rows synced** : le nombre total de rows répliquées vers ClickHouse
    * **Backfills pending** : le nombre de tables encore en attente de leur chargement initial
    * **Retard** : le volume de données WAL restant à appliquer
    * **Temps de retard** : le retard actuel de la destination par rapport à Postgres
    * **Uptime** : depuis combien de temps le pipeline fonctionne
    * **Last updated** : date du dernier relevé des metrics

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/walshadow-running.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=e2383f118f630d59f4f3e6de0185b519" alt="Page Sync to ClickHouse montrant WalShadow à l'état Running avec les metrics de rows synchronisées, de retard et d'uptime" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/walshadow-running.webp" />
  </Step>
</Steps>

<h2 id="caveats">
  Points d'attention
</h2>

Quelques points à noter tant que `WalShadow` est en Private Preview :

* Un seul `WalShadow` par service Postgres pour le moment.
* Les opérations et des metrics plus détaillées figurent sur la roadmap.
