pg_clickhouse

从PostgreSQL中查询ClickHouse的接口

概览

扩展包名版本分类许可证语言
pg_clickhouse0.1.5OLAPApache-2.0C++
ID扩展名BinLibLoadCreateTrustReloc模式
2460pg_clickhouse-
相关扩展pg_duckdb duckdb_fdw citus columnar citus_columnar clickhouse_fdw postgres_fdw dblink

with submodule

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.1.51817161514pg_clickhouse-
RPMPIGSTY0.1.51817161514pg_clickhouse_$v-
DEBPIGSTY0.1.51817161514postgresql-$v-clickhouse-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
u22.x86_64
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
u22.aarch64
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
u24.x86_64
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
u24.aarch64
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5
PIGSTY 0.1.5

构建

您可以使用 pig build 命令构建 pg_clickhouse 扩展的 RPM / DEB 包:

pig build pkg pg_clickhouse         # 构建 RPM / DEB 包

安装

您可以直接安装 pg_clickhouse 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install pg_clickhouse;          # 当前活跃 PG 版本安装
pig ext install -y pg_clickhouse -v 18  # PG 18
pig ext install -y pg_clickhouse -v 17  # PG 17
pig ext install -y pg_clickhouse -v 16  # PG 16
pig ext install -y pg_clickhouse -v 15  # PG 15
pig ext install -y pg_clickhouse -v 14  # PG 14
dnf install -y pg_clickhouse_18       # PG 18
dnf install -y pg_clickhouse_17       # PG 17
dnf install -y pg_clickhouse_16       # PG 16
dnf install -y pg_clickhouse_15       # PG 15
dnf install -y pg_clickhouse_14       # PG 14
apt install -y postgresql-18-clickhouse   # PG 18
apt install -y postgresql-17-clickhouse   # PG 17
apt install -y postgresql-16-clickhouse   # PG 16
apt install -y postgresql-15-clickhouse   # PG 15
apt install -y postgresql-14-clickhouse   # PG 14

预加载配置

shared_preload_libraries = 'pg_clickhouse';

创建扩展

CREATE EXTENSION pg_clickhouse;

用法

pg_clickhouse: PostgreSQL 的 ClickHouse 集成

pg_clickhouse 允许直接从 PostgreSQL 对 ClickHouse 执行分析查询,无需重写 SQL。支持 PostgreSQL 13+ 和 ClickHouse v23+。

创建扩展

CREATE EXTENSION pg_clickhouse;

或安装到指定 schema:

CREATE SCHEMA env;
CREATE EXTENSION pg_clickhouse SCHEMA env;

查询下推

该扩展自动将分析查询下推到 ClickHouse 执行,带来显著的性能提升。例如 TPC-H 基准测试显示:

  • 查询 1:268ms(标准 PostgreSQL 为 4,693ms)
  • 查询 6:53ms(标准 PostgreSQL 为 764ms)

当查询下推激活时,ClickHouse 直接处理执行,避免了复杂分析工作负载的数据传输开销。