---
title: "pg_clickhouse は ClickBench で最速の Postgres 拡張機能です"
date: "2026-09-28T08:43:23.642Z"
author: "David Wheeler"
category: "Product"
excerpt: "pg_clickhouse 拡張機能は、クエリの実行を ClickHouse に委任することで、Postgres で一般的な分析クエリを実行する際の手間を最小限に抑えます。"
---

# pg_clickhouse は ClickBench で最速の Postgres 拡張機能です

2025年12月、ClickHouse は Postgres から ClickHouse へ直接クエリを実行できる PostgreSQL 拡張機能である [pg_clickhouse](https://github.com/ClickHouse/pg_clickhouse) をリリースしました。その主な目的は、分析ワークロードを Postgres から ClickHouse へ移行する際に必要なアプリケーションの移行作業を最小限に抑えることです。pg_clickhouse の設計にあたっては、分析クエリに ClickHouse の能力を最大限に活用しながら、トランザクションクエリと分析クエリの双方で使い慣れた Postgres インターフェースを引き続き利用できるよう、慎重にアーキテクチャの選択を行いました。

本ブログ記事では、これらの設計上の選択を検証し、[ClickBench](https://benchmark.clickhouse.com/) で pg_clickhouse のベンチマークを実施することで、その性能への影響を明らかにします。

## クエリプッシュダウン vs. Postgres への分析処理の無理な組み込み

私たちは、分析クエリの実行を可能な限り ClickHouse へオフロードすることで Postgres への負荷を最小限に抑えるよう、**pg_clickhouse** を設計しました。Postgres 内部で重い分析クエリを実行してリソースを消費する代わりに、ベストエフォートでクエリを ClickHouse 実行用に書き換え、結果のみを返します。

このアーキテクチャは、Postgres 内部に列指向ストレージと分析実行エンジンを直接組み込む一般的な分析拡張機能とは対照的です。そうしたアプローチでも分析を高速化できますが、依然として Postgres のリソースに依存しており、最終的には単一の共有ノードによる制約を受けます。データ量が数 TB から数十 TB 規模に増加するにつれ、分析ワークロードは同一のシステムリソースをめぐってトランザクションワークロードと競合し始めます。

実行を ClickHouse に委任することで、pg_clickhouse は独立したスケーリングを可能にし、Postgres 内部でのリソース競合を回避します。このモデルは、数百万行や数十億行をスキャンする集計中心のクエリを特に高速化します。このコンテキストでは、単なるフィルタリングにとどまらず、とりわけ集計処理を対象とした効果的な**クエリプッシュダウン**が極めて重要な課題となります。

## pg_clickhouse は ClickBench で最速の Postgres 拡張機能

これらの設計選択による効果を評価するため、分析 DBMS 向けの標準ベンチマークである ClickBench に先日 pg_clickhouse を追加しました。

1月末時点の結果が出ました。***pg_clickhouse は[最速の PostgreSQL 拡張機能](https://benchmark.clickhouse.com/#system=+gkus|_b|pnc|saB&type=-&machine=-ca2l|6t|g4e|6ax|ae-l|6ale|g-l|3al&cluster_size=-&opensource=-&hardware=+c&tuned=+n&metric=combined&queries=-)であり、他のすべての Postgres 分析拡張機能を上回り、ネイティブの ClickHouse 自体と比べてもわずかに遅い程度にとどまりました。*** 全 42 個の ClickBench クエリにおいて、ARM64 (c8g) と AMD64 (c6a) の両方のインスタンスで ClickHouse に迫るパフォーマンスを記録しています。

![ARM64 (c8g) および AMD64 (c6a) サーバーにおける pg_clickhouse と ClickHouse の ClickBench パフォーマンスを比較したスクリーンショット。](https://clickhouse.com/uploads/clickbench_2026_02_02_c689143402.png)

これらの結果は、pg_clickhouse がクエリ実行全体を ClickHouse にプッシュダウンしていることを裏付けています。計測可能なオーバーヘッドは、クエリの書き換え、ネットワークのラウンドトリップ、および Postgres 形式への結果変換のみです。Postgres 自体は分析ワークロードを実行せず、純粋にルーティングと結果の受け渡しレイヤーとして機能します。

## 包括的な集計および式のプッシュダウン

ClickBench は比較的シンプルなスキーマを採用しており、`JOIN` のない単一の非正規化テーブルで構成されています。これにより結合プッシュダウンの複雑さは避けられますが、同様に重要な点として「包括的な集計および式のプッシュダウン」が浮き彫りになります。

このベンチマークには、pg_clickhouse が ClickHouse へ完全に委任する幅広い操作が含まれています。

*   `COUNT()`, `SUM()`, `AVG()`, `COUNT(DISTINCT)`
*   `MIN()`, `MAX()`
*   `GROUP BY`
*   `ORDER BY` (`ORDER BY COUNT()` を含む)
*   `HAVING`
*   `EXTRACT()`, `DATE_TRUNC`
*   日付比較
*   `LIKE`, `REGEXP_REPLACE()`
*   `CASE WHEN`

これらは、現在サポートされている集計、関数、式の一部にすぎません。[2026年2月1日の 0.1.4 リリース](https://github.com/ClickHouse/pg_clickhouse/releases/tag/v0.1.4)を最新の例として、カバレッジの拡大、サポート対象パターンのドキュメント化、未対応機能の解消を継続しています。

取り組みはこれにとどまりません。サブクエリや [CTE](https://www.postgresql.org/docs/current/queries-with.html) など、より複雑なクエリパターンのサポートに向けた作業がすでに進んでいます。これらの改善については、今後数か月のうちに詳しくお伝えします。

## 今すぐ始める

**pg_clickhouse** の利用を開始するには、[こちらのクイックスタートガイド](https://github.com/ClickHouse/pg_clickhouse/blob/main/doc/tutorial.md)からオープンソース版をお試しいただけます。また、**pg_clickhouse** は当社の [ClickHouse Managed Postgres](https://clickhouse.com/cloud/postgres) にも標準で含まれています。

---

## ClickHouse Managed Postgres を試す

ClickHouse と Postgres の組み合わせは、スケールするアプリケーション向けの統合データスタックとなっています。ClickHouse Cloud で Managed Postgres が利用可能になったことで、このスタックは最初から選ぶべき有力な選択肢となります。

[アクセスをリクエスト](https://clickhouse.com/cloud/postgres?loc=blog-cta-2380-clickhouse-managed-postgres&utm_blogctaid=2380)

---