Introduction
Premiers pas
Cas de test : TPC-H
| Requête | PostgreSQL | pg_clickhouse | Pushdown |
|---|---|---|---|
| [Requête 1] | 4693 ms | 268 ms | ✔︎ |
| [Requête 2] | 458 ms | 3446 ms | |
| [Requête 3] | 742 ms | 111 ms | ✔︎ |
| [Requête 4] | 270 ms | 130 ms | ✔︎ |
| [Requête 5] | 337 ms | 1460 ms | ✔︎ |
| [Requête 6] | 764 ms | 53 ms | ✔︎ |
| [Requête 7] | 619 ms | 96 ms | ✔︎ |
| [Requête 8] | 342 ms | 156 ms | ✔︎ |
| [Requête 9] | 3094 ms | 298 ms | ✔︎ |
| [Requête 10] | 581 ms | 197 ms | ✔︎ |
| [Requête 11] | 212 ms | 24 ms | |
| [Requête 12] | 1116 ms | 84 ms | ✔︎ |
| [Requête 13] | 958 ms | 1368 ms | |
| [Requête 14] | 181 ms | 73 ms | ✔︎ |
| [Requête 15] | 1118 ms | 557 ms | |
| [Requête 16] | 497 ms | 1714 ms | |
| [Requête 17] | 1846 ms | 32709 ms | |
| [Requête 18] | 5823 ms | 10649 ms | |
| [Requête 19] | 53 ms | 206 ms | ✔︎ |
| [Requête 20] | 421 ms | - | |
| [Requête 21] | 1349 ms | 4434 ms | |
| [Requête 22] | 258 ms | 1415 ms |
Compiler à partir des sources
Unix général
pg_config et
curl-config dans le PATH, vous devriez donc pouvoir simplement exécuter make (ou
gmake), puis make install, puis dans votre base de données
CREATE EXTENSION pg_clickhouse.
Debian / Ubuntu / APT
RedHat / CentOS / Yum
Installer depuis PGXN
pgxnclient) pour télécharger, compiler et installer pg_clickhouse :
Compiler et installer
pg_clickhouse, exécutez :
pg_config :
curl-config n’est pas dans le PATH de votre hôte, vous pouvez spécifier le chemin
explicitement :
gmake :
pg_config est installé et présent dans votre path. Si vous avez utilisé un
gestionnaire de paquets tel que RPM pour installer PostgreSQL, assurez-vous que le
paquet -devel est également installé. Si nécessaire, indiquez au processus de compilation où
le trouver :
prefix pour install (mais pour aucune autre cible make) :
postgresql.conf
paramètres] suivants :
Tests
Activation
pg_clickhouse installé, vous pouvez l’ajouter à une base de données en vous connectant
en tant que superutilisateur et en exécutant :
pg_clickhouse et tous les objets associés dans
un schéma spécifique, utilisez la clause SCHEMA pour le préciser, comme suit :
Dépendances
pg_clickhouse nécessite PostgreSQL 13 ou une version supérieure, ainsi que libcurl
et libuuid. La compilation de l’extension requiert un compilateur C et C++, libSSL, GNU
make et CMake.
Feuille de route
- Obtenir une planification optimale pour les 10 requêtes TPC-H restantes sans pushdown
- Tester et corriger le pushdown pour les requêtes ClickBench
- Prendre en charge le pushdown transparent de toutes les fonctions d’agrégation PostgreSQL
- Prendre en charge le pushdown transparent de toutes les fonctions PostgreSQL
- Autoriser les paramètres ClickHouse au niveau du serveur et de la session via CREATE SERVER et les GUC
- Prendre en charge tous les types de données ClickHouse
- Prendre en charge les opérations lightweight DELETE et UPDATE
- Prendre en charge l’insertion par lot via COPY
- Ajouter une fonction pour exécuter une requête ClickHouse arbitraire et renvoyer ses résultats sous forme de tables
- Ajouter la prise en charge du pushdown des requêtes UNION lorsqu’elles interrogent toutes la base de données distante
Copyright
- Copyright (c) 2025-2026, ClickHouse
- Portions Copyright (c) 2023-2025, Ildus Kurbangaliev
- Portions Copyright (c) 2019-2023, Adjust GmbH
- Portions Copyright (c) 2012-2019, PostgreSQL Global Development Group