Introdução
Esta biblioteca fornece extensões do PostgreSQL para executar consultas chDB no Postgres e para copiar dados de e para diversos formatos e armazenamentos de objetos.Extensão chdb
A extensãochdb executa consultas chDB. A função chdb_query() executa
uma única consulta. Por exemplo, esta consulta:
Módulo chdb_hook
O módulochdb_hook se conecta ao comando COPY para copiar dados de ou para
o S3, o GCS, o Azure Blob, um arquivo ou uma URL http. Este exemplo carrega registros de
vários arquivos CSV no S3 em um único comando COPY:
times contém os registros de cada arquivo carregado:
Benchmarking de formatos
Um benchmark compara o desempenho doCOPY do [chdb_hook] com o de
[aws_s3], [pg_duckdb] e [pg_lake] para cerca de 1 milhão de linhas do NYC Taxi dataset em
diversos formatos.

Benchmarkings adicionais mostram um desempenho relativamente consistente na
importação do NYC Taxi dataset em diversos formatos:

Arquitetura
As extensões chdb e chdb_hook dependem de um processochdb_helper para executar
consultas chDB. O helper mantém o consumo de recursos do chDB separado
do processo principal do Postgres, o que é uma vantagem para fluxos de trabalho de uso ocasional,
como o carregamento de dados de um lago de dados.
Dependências
A extensãochdb requer o PostgreSQL 15 ou superior e a library chDB
v26.7.0 ou superior (atualmente disponível apenas para Linux e macOS). A
maneira mais simples de instalá-la é por meio do script de shell lib.chdb.io:
make da
Instalação.
Makefile fará o download da biblioteca estática libchdb e a compilará
no aplicativo.
No Linux, você também pode fazer com que o processo de instalação baixe e instale a
biblioteca dinâmica libchdb, definindo export BUNDLE_LIBCHDB=1 antes de executar
os comandos make da Instalação.
Compilar a partir do código-fonte
Para compilar o chdb, basta fazer o seguinte:gmake:
pg_config esteja instalado e disponível no seu path. Se
você usou um sistema de gerenciamento de pacotes como o RPM para instalar o PostgreSQL,
verifique se o pacote -devel também está instalado. Se necessário, informe ao processo de compilação
onde encontrá-lo:
/usr/local:
prefix para install (mas para nenhum outro target do make):
postgresql.conf]: