Introduction
Cette bibliothèque fournit des extensions PostgreSQL permettant d’exécuter des requêtes chDB dans Postgres, ainsi que de copier des données depuis et vers divers formats et stockage d’objet.Extension chdb
L’extensionchdb exécute des requêtes chDB. La fonction chdb_query() exécute
une seule requête. Par exemple, cette requête :
Module chdb_hook
Le modulechdb_hook se greffe sur la commande COPY afin de copier des données vers ou depuis
S3, GCS, Azure Blob, un fichier ou une URL http. Cet exemple charge des enregistrements issus de
plusieurs fichiers CSV sur S3 en une seule commande COPY :
times contient les enregistrements de chaque fichier chargé :
Benchmarking des formats
Un benchmark compare les performances deCOPY avec [chdb_hook] à celles
d’[aws_s3], [pg_duckdb] et [pg_lake] pour environ 1 million de rows du
jeu de données des taxis de NYC dans divers formats.

D’autres mesures de benchmarking montrent des performances relativement
constantes lors de l’import du jeu de données des taxis de NYC dans divers formats :

Architecture
Les extensions chdb et chdb_hook s’appuient sur un processuschdb_helper pour exécuter
les requêtes chDB. Ce processus auxiliaire maintient la consommation de ressources de chDB
séparée de celle du processus Postgres principal, un avantage pour un workflow utilisé
occasionnellement, comme le chargement de données depuis un data lake.
Dépendances
L’extensionchdb nécessite PostgreSQL 15 ou une version supérieure ainsi que la bibliothèque chDB
v26.7.0 ou ultérieure (actuellement disponible uniquement pour Linux et macOS). Le
plus simple est de l’installer via le script shell lib.chdb.io :
make de l’Installation.
Makefile télécharge la bibliothèque statique libchdb et la compile dans
l’application.
Sur Linux, vous pouvez également faire en sorte que le processus d’installation télécharge et installe la
bibliothèque dynamique libchdb en définissant export BUNDLE_LIBCHDB=1 avant d’exécuter
les commandes make de l’Installation.
Compiler depuis les sources
Pour compiler chdb, il suffit de faire ceci :gmake :
pg_config est installé et accessible dans votre path. Si vous
avez installé PostgreSQL à l’aide d’un système de gestion de paquets tel que RPM,
vérifiez que le paquet -devel est également installé. Si nécessaire, indiquez au
processus de build où le trouver :
/usr/local :
prefix à install (mais à aucune autre cible make) :
postgresql.conf][paramètres
`postgresql.conf`] suivants :