Introducción
Esta biblioteca proporciona extensiones de PostgreSQL para ejecutar consultas chDB en Postgres y para copiar datos desde y hacia diversos formatos y almacenes de objetos.Extensión chdb
La extensiónchdb ejecuta consultas de chDB. La función chdb_query() ejecuta
una única consulta. Por ejemplo, esta consulta:
Módulo chdb_hook
El módulochdb_hook se engancha al comando COPY para copiar datos hacia o desde
S3, GCS, Azure Blob, un archivo o una URL http. Este ejemplo carga registros de
varios archivos CSV en S3 con un solo comando COPY:
times contiene los registros de cada archivo que cargó:
Benchmarking de formatos
Un benchmark compara el rendimiento deCOPY de [chdb_hook] con el de
[aws_s3], [pg_duckdb] y [pg_lake] para aprox. 1 M de filas del NYC Taxi dataset en
diversos formatos.

Otras pruebas de benchmarking demuestran un rendimiento relativamente consistente
al importar el NYC Taxi dataset en diversos formatos:

Architecture
Las extensiones chdb y chdb_hook dependen de un procesochdb_helper para ejecutar
consultas de chDB. El helper mantiene el consumo de recursos de chDB separado
del proceso principal de Postgres, lo que supone una ventaja en flujos de trabajo de uso ocasional,
como la carga de datos desde un lago de datos.
Dependencias
La extensiónchdb requiere PostgreSQL 15 o superior y la biblioteca chDB
v26.7.0 o superior (actualmente disponible solo para Linux y macOS). La forma
más sencilla de instalarla es mediante el script de shell lib.chdb.io:
make de la Instalación.
Makefile descargará la biblioteca estática libchdb y la compilará en
la aplicación.
En Linux, también puede hacer que el proceso de instalación descargue e instale la
biblioteca dinámica libchdb definiendo export BUNDLE_LIBCHDB=1 antes de ejecutar
los comandos make de la Instalación.
Compilar desde el código fuente
Para compilar chdb, basta con ejecutar lo siguiente:gmake:
pg_config instalado y disponible en su path. Si utilizó un
sistema de gestión de paquetes como RPM para instalar PostgreSQL, asegúrese de que
también esté instalado el paquete -devel. Si es necesario, indique al proceso de build dónde
encontrarlo:
/usr/local:
prefix personalizado en PostgreSQL 18 o versiones posteriores, pase el argumento prefix a install (pero no a ningún otro objetivo de make):
postgresql.conf]: