Skip to main content
ClickHouse Cloud propose désormais ClickPipes pour migrer votre base de données PostgreSQL externe vers un service Managed Postgres. Cette intégration native offre une expérience simplifiée pour se connecter à votre base de données source, exporter le schéma, l’importer dans Managed Postgres et configurer la réplication continue.

Prérequis

Points à prendre en compte avant la migration

  • Propagation du DDL : la réplication continue (CDC) capture les opérations DML et ADD COLUMN. Les autres modifications DDL, telles que DROP COLUMN et ALTER COLUMN, ne sont pas propagées et doivent être appliquées manuellement sur la base cible.
Si vous rencontrez des problèmes pendant la migration, consultez la FAQ des migrations Managed Postgres pour connaître les erreurs courantes et leurs solutions.

Étape 1 : Connectez-vous à votre base de données source

Ouvrez la console ClickHouse Cloud et sélectionnez votre service Managed Postgres. Dans la barre latérale de gauche, cliquez sur Sources de données. Cliquez sur Démarrer l’importation. Renseignez les informations de connexion de votre base de données PostgreSQL source : hôte, port, nom d’utilisateur, mot de passe et nom de la base de données. Activez TLS si votre source l’exige. Si vous avez besoin d’une connexion privée à votre base de données source, vous pouvez opter pour un tunnel SSH et fournir les informations SSH nécessaires. Cela permet à la migration de se connecter en toute sécurité à des bases de données qui ne sont pas accessibles publiquement. Choisissez une méthode d’ingestion :
  • Chargement initial + CDC — copie les données existantes, puis maintient la cible synchronisée avec les modifications en cours.
  • Chargement initial uniquement — copie unique, sans réplication continue.
  • CDC uniquement — ignore la copie initiale et réplique uniquement les nouvelles modifications à partir de ce moment.
Cliquez sur Suivant.

Migration automatisée du schéma

Si vous choisissez cette option, le ClickPipe récupère automatiquement le schéma de votre base de données source et l’applique à votre service Managed Postgres lors de la phase Setup du ClickPipe, après sa création. Cette fonctionnalité suppose une base de données cible vide, car elle récupère tous les objets de la base de données source, quelles que soient les tables que vous sélectionnerez ensuite dans l’assistant. Si votre base de données cible contient déjà des données ou si vous souhaitez une configuration plus personnalisée, vous devez choisir le mode Manuel. Sélectionnez la base de données de destination dans la liste déroulante ou cliquez sur Créer une nouvelle base de données pour en provisionner une.

Monitoring

Vous pouvez suivre l’avancement de la migration de schéma dans la vue détaillée de ClickPipes. Les journaux indiquent l’état de la migration de schéma et affichent également les éventuelles erreurs rencontrées. Ce mode présente les limitations suivantes :

Migration manuelle du schéma

Si votre base de données cible contient déjà des données ou si vous souhaitez une configuration plus personnalisée que l’environnement vierge attendu par le mode automatisé, vous pouvez sélectionner le mode Manuel.

Exportez le schéma de votre base de données

L’assistant affiche une commande pg_dump préremplie avec les informations de connexion de votre source. Exécutez-la dans un terminal :
Cela crée pg.sql dans votre répertoire courant. Cliquez sur Suivant.

Importez le schéma dans votre service Managed Postgres

Sélectionnez la base de données de destination dans la liste déroulante, ou cliquez sur Créer une nouvelle base de données pour en provisionner une. L’assistant affiche une commande psql pour appliquer le dump du schéma à votre service Managed Postgres. Exécutez-la dans un terminal :
Cliquez sur Suivant.

Étape 4 : Configurer les paramètres d’ingestion

Indiquez la publication à utiliser pour la réplication logique. Si vous laissez ce champ vide, une publication sera créée automatiquement. Développez Paramètres avancés de réplication pour ajuster le débit : Cliquez sur Next.

Étape 5: Sélectionner les tables

Sélectionnez les tables que vous souhaitez répliquer. Les tables sont regroupées par schéma. Sélectionnez des tables individuellement ou développez un schéma pour toutes les sélectionner. Cliquez sur Créer la migration.

Surveiller la migration

Après avoir créé la migration, elle apparaît dans Sources de données avec le statut En cours d’exécution. Cliquez sur la migration pour ouvrir la vue détaillée. L’onglet Tables affiche la progression du chargement initial pour chaque table, notamment le nombre de lignes traitées, les partitions et le temps moyen par partition. L’onglet Metrics affiche le retard de réplication et le débit une fois le CDC démarré.

Basculer le trafic

Une fois le chargement initial terminé et, si vous utilisez le CDC, dès que le retard de réplication est proche de zéro, vous pouvez basculer le trafic de votre base de données Postgres source vers votre service Managed Postgres. Ouvrez la vue détaillée de la migration et sélectionnez l’onglet Post-migration steps. Cet assistant vous guide à travers les six étapes nécessaires pour finaliser la migration en toute sécurité. Chaque étape doit être réalisée dans l’ordre avant de pouvoir passer à la suivante.

Étape 1 : passer la base de données Postgres source en mode lecture seule

Arrêtez les écritures applicatives sur la source afin d’éviter toute divergence pendant le basculement. L’assistant affiche une commande ALTER DATABASE pré-remplie avec le nom de votre base de données source — exécutez-la sur celle-ci :
Terminez ensuite toutes les connexions existantes afin qu’elles prennent en compte le paramètre read-only et qu’aucune écriture in-flight ne subsiste :
Selon votre provider Postgres, cette étape peut différer. Les services managés peuvent restreindre ALTER DATABASE ou l’arrêt des backends, et exposer à la place le mode lecture seule via leur propre console, des parameter groups, ou par la révocation des privileges d’écriture. Consultez la documentation de votre provider pour connaître la méthode équivalente permettant de passer la source en read-only.
Cliquez sur Mark as completed pour continuer.

Étape 2 : valider le nombre de lignes

Sélectionnez les tables répliquées que vous souhaitez valider. ClickPipes compte les lignes de chaque table sélectionnée, à la fois sur la source et sur la cible, puis compare les résultats. Les tables volumineuses peuvent renvoyer des décomptes approximatifs. Utilisez Select all tables pour valider toutes les tables, ou recherchez des tables spécifiques et activez-les, puis cliquez sur Count rows.

Étape 3 : mettre le pipe en pause

Mettez le ClickPipe en pause afin d’arrêter la réplication avant de réinitialiser les séquences et de basculer le trafic. Cliquez sur Pause ClickPipe et attendez que le pipe soit effectivement en pause avant de poursuivre.

Étape 4 : Réinitialiser les séquences

Réinitialisez les séquences sur la destination afin que les nouvelles insertions reprennent aux valeurs correctes. Cliquez sur Reset sequences pour aligner chaque séquence sur la valeur maximale actuelle de sa table.

Étape 5 : basculer le trafic

Dirigez les lectures et les écritures vers votre service Managed Postgres en remplaçant l’URL de base de données de votre application par la connection string Managed Postgres. L’assistant fournit les connection details dans plusieurs formats — url, psql, env, yaml et jdbc — afin que vous puissiez copier celui qui correspond à votre stack. Une fois votre application mise à jour, cliquez sur Mark as completed.

Étape 6 : nettoyage

Une fois la bascule effectuée et le bon fonctionnement du nouveau service confirmé, supprimez la migration et libérez les ressources de la source. L’assistant affiche une commande pg_drop_replication_slot pré-remplie avec le nom du slot — exécutez-la sur la source pour supprimer le slot de réplication :
Cliquez ensuite sur Delete ClickPipe migration pour supprimer la migration de source de données.

Étapes suivantes

Dernière modification le 28 septembre 2026