Vous pouvez suivre ce chemin vous-même, l’automatiser avec un script ou le confier à un agent IA. Passez à la vue Cloud UI pour afficher la version console.Cette page explique comment provisionner ClickHouse Managed Postgres, charger des données, les répliquer vers ClickHouse et exécuter des requêtes sur celles-ci, le tout depuis la ligne de commande avec le ClickHouse CLI (Installez la ClickHouse CLI :Vous avez également besoin de Vous pouvez également définir les variables d’environnement Créez le service et enregistrez la réponse ; le mot de passe n’est affiché qu’une seule fois :La réponse inclut l’ID du service, le nom d’hôte et une chaîne de connexion prête à l’emploi :Extrayez les éléments nécessaires pour la suite de ce guide :Si le mot de passe est perdu, générez-en un nouveau avec Le provisionnement prend quelques minutes. Vérifiez régulièrement jusqu’à ce que l’état soit Créez deux tables, puis insérez 1 million d’événements avec L’insertion de 1 M de lignes s’effectue en environ 7 secondes sur Créez un service dans la même région et enregistrez la réponse ; le mot de passe n’apparaît que dans la réponse de création :Attendez qu’il soit actif ; le ClickPipe nécessite une destination active :Pour utiliser plutôt un service existant, définissez Créez un Postgres CDC ClickPipe sur le service ClickHouse, en pointant vers le nom d’hôte de Managed Postgres. Le pipe copie les lignes existantes, puis maintient ClickHouse synchronisé avec les changements ultérieurs :Remarques :Attendez que le pipe passe à l’état
Le pipe passe par Exécutez des requêtes SQL sur le service ClickHouse directement depuis la CLI. Le premier appel crée automatiquement un endpoint Query API et une clé API limitée à ce service :Les nouvelles écritures dans Postgres sont répliquées en continu. Insérez une ligne, puis interrogez régulièrement jusqu’à ce que le nombre atteigne 1 000 001 (généralement en moins d’une minute) :L’extension Le heredoc est volontairement non guillemeté, afin que le shell substitue Supprimez d’abord le ClickPipe, puis le service Postgres. La suppression d’un service entraîne la suppression définitive de toutes ses données :Un service ClickHouse en cours d’exécution ne peut pas être supprimé directement. Arrêtez-le, attendez qu’il soit
clickhousectl) et psql. Les commandes s’exécutent en mode non interactif ; clickhousectl renvoie du JSON avec --json.Prérequis
psql (outils du client PostgreSQL ; sous macOS, brew install libpq) et de jq.Les opérations en écriture (create, delete) nécessitent une authentification par clé API ; la connexion OAuth est en lecture seule :CLICKHOUSE_CLOUD_API_KEY et CLICKHOUSE_CLOUD_API_SECRET. Vérifiez avec clickhousectl cloud auth status ; vous devriez voir une entrée avec la portée read/write.Partie 1 : Créer Postgres et charger les données
Créer un service Postgres
clickhousectl cloud postgres reset-password $PG_ID --generate.Attendez que le service soit provisionné
running :Charger des données d’exemple
psql :c6gd.large (la plus petite taille), grâce au stockage NVMe. Vérifiez-le avec une requête ; le nombre de lignes varie d’une exécution à l’autre, car les données sont générées avec random() :Partie 2 : Répliquer dans ClickHouse
Créer un service ClickHouse
CH_ID à partir de clickhousectl cloud service list et CH_PASSWORD sur le mot de passe de l’utilisateur default, requis à l’étape pg_clickhouse.Répliquer les tables vers ClickHouse
- Les tables répliquées sont créées dans la base de données
defaultdu service ClickHouse, selon les cibles de--table-mapping - La publication et le slot de réplication sont créés automatiquement, la publication étant limitée aux tables mappées ; passez
--publication-namepour utiliser celle que vous gérez vous-même - Utilisez directement le nom d’hôte de Postgres ; la réplication n’est pas prise en charge via PgBouncer
Attendez que le pipe passe à l’état Running
Provisioning, Setup et (pour les tables plus volumineuses) Snapshot avant de passer à l’état Running, ce qui prend environ 4 minutes pour le premier pipe sur un service. Failed et InternalError sont des états terminaux :Interroger les données répliquées dans ClickHouse
Interroger ClickHouse depuis Postgres
pg_clickhouse permet à Postgres de servir de couche de requête unifiée pour les données transactionnelles et analytiques. Récupérez le nom d’hôte HTTPS de ClickHouse, puis configurez l’extension via psql :$CH_HOST et $CH_PASSWORD avant que le SQL n’arrive à Postgres. Les tables répliquées sont désormais visibles comme des tables étrangères dans le schéma organization ; les requêtes qui les ciblent s’exécutent dans ClickHouse.Mesurées sur c6gd.large avec ce jeu de données, les requêtes analytiques s’exécutent 6 à 9 fois plus vite via les tables étrangères (par exemple, un GROUP BY avec 5 agrégations : 176 ms via ClickHouse contre 1 133 ms en local ; un JOIN avec agrégations : 298 ms contre 2 764 ms).Nettoyage
stopped, puis supprimez-le :