Introdução
Primeiros passos
Caso de teste: TPC-H
| Consulta | PostgreSQL | pg_clickhouse | Pushdown |
|---|---|---|---|
| [consulta 1] | 4693 ms | 268 ms | ✔︎ |
| [consulta 2] | 458 ms | 3446 ms | |
| [consulta 3] | 742 ms | 111 ms | ✔︎ |
| [consulta 4] | 270 ms | 130 ms | ✔︎ |
| [consulta 5] | 337 ms | 1460 ms | ✔︎ |
| [consulta 6] | 764 ms | 53 ms | ✔︎ |
| [consulta 7] | 619 ms | 96 ms | ✔︎ |
| [consulta 8] | 342 ms | 156 ms | ✔︎ |
| [consulta 9] | 3094 ms | 298 ms | ✔︎ |
| [consulta 10] | 581 ms | 197 ms | ✔︎ |
| [consulta 11] | 212 ms | 24 ms | |
| [consulta 12] | 1116 ms | 84 ms | ✔︎ |
| [consulta 13] | 958 ms | 1368 ms | |
| [consulta 14] | 181 ms | 73 ms | ✔︎ |
| [consulta 15] | 1118 ms | 557 ms | |
| [consulta 16] | 497 ms | 1714 ms | |
| [consulta 17] | 1846 ms | 32709 ms | |
| [consulta 18] | 5823 ms | 10649 ms | |
| [consulta 19] | 53 ms | 206 ms | ✔︎ |
| [consulta 20] | 421 ms | - | |
| [consulta 21] | 1349 ms | 4434 ms | |
| [consulta 22] | 258 ms | 1415 ms |
Compilar a partir do código-fonte
Unix em geral
pg_config e
curl-config no path, então você deve conseguir simplesmente executar make (ou
gmake), depois make install e, em seguida, no seu banco de dados,
CREATE EXTENSION pg_clickhouse.
Debian / Ubuntu / APT
RedHat / CentOS / Yum
Instalar via PGXN
pgxnclient) para baixar, compilar
e instalar pg_clickhouse:
Compilar e instalar
pg_clickhouse, execute:
pg_config:
curl-config não estiver no path do seu host, você pode especificar o path
explicitamente:
gmake:
pg_config esteja instalado e no seu path. Se você usou um
sistema de gerenciamento de pacotes, como RPM, para instalar o PostgreSQL, certifique-se de que o
pacote -devel também esteja instalado. Se necessário, informe ao processo de build onde
encontrá-lo:
prefix para install (mas não para outros alvos de make):
postgresql.conf]:
Testes
Carregando
pg_clickhouse estiver instalado, você poderá adicioná-lo a um banco de dados conectando-se
como superusuário e executando:
pg_clickhouse e todos os seus objetos auxiliares em
um schema específico, use a cláusula SCHEMA para especificar o schema, assim:
Dependências
pg_clickhouse requer PostgreSQL 13 ou superior, libcurl
e libuuid. A compilação da extensão requer compiladores C e C++, libSSL, GNU
make e CMake.
Roadmap
- Planejar de forma ideal as 10 consultas TPC-H restantes que ainda não têm pushdown
- Testar e corrigir o pushdown das consultas do ClickBench
- Oferecer suporte ao pushdown transparente de todas as funções de agregação do PostgreSQL
- Oferecer suporte ao pushdown transparente de todas as funções do PostgreSQL
- Permitir configurações do ClickHouse no nível do servidor e da sessão via CREATE SERVER e GUCs
- Oferecer suporte a todos os tipos de dados do ClickHouse
- Oferecer suporte a DELETEs leves e UPDATEs
- Oferecer suporte à inserção em lote via COPY
- Adicionar uma função para executar uma consulta arbitrária do ClickHouse e retornar seus resultados como uma tabela
- Adicionar suporte ao pushdown de consultas UNION quando todas forem executadas no banco de dados remoto
Direitos autorais
- Copyright (c) 2025-2026, ClickHouse
- Partes com Copyright (c) 2023-2025, Ildus Kurbangaliev
- Partes com Copyright (c) 2019-2023, Adjust GmbH
- Partes com Copyright (c) 2012-2019, PostgreSQL Global Development Group