PostgreSQL pg_clickhouse插件的安装和使用

clickhouse公司开发的pg_clickhouse可以由PostgreSQL数据库调用clickhouse数据库的能力,实现快速的查询。

我按照pg_clickhouse文档的提示,完成了docker镜像下载、容器的运行等步骤。

  1. docker镜像下载
    文档中的命令行是

    docker pull ghcr.io/clickhouse/pg_clickhouse:18-0.1.0

国内用官方地址下载较慢,还容易中断。可以用南京大学镜像快速下载。

复制代码
docker pull ghcr.nju.edu.cn/clickhouse/pg_clickhouse:18-0.1.0
Trying to pull ghcr.nju.edu.cn/clickhouse/pg_clickhouse:18-0.1.0...
Getting image source signatures
Copying blob 1733a4cd5954 done
Copying blob 72fdf866b594 done
Copying blob 6dd6fcdc9495 done
Copying blob bab3dfaacd57 done
Copying blob b004922a6f45 done
Copying blob c3ff19dd627c done
Copying blob 854c622dacff done
Copying blob f106a4619ad3 done
Copying blob c063aa26ba0a done
Copying blob 1a285618a7ed done
Copying blob 807997f7ba63 done
Copying blob db5e628b821e done
Copying blob e6b94ae4e71a done
Copying blob 1dc30afa2762 done
Copying blob 9b8b3f5bc3de done
Copying blob 124c105132bf done
Copying blob 55be4826f873 done
Copying blob 18fe35f0abfa done
Copying config 5cb0431c68 done
Writing manifest to image destination
Storing signatures
5cb0431c686e00a8fb24d4a5c80d3102bcbab366c5a2e1da2e9d344477e3b006
  1. 运行容器
    首次运行用docker run命令,并创建插件。

    docker run --name pg_clickhouse -e POSTGRES_PASSWORD=my_pass -d ghcr.nju.edu.cn/clickhouse/pg_clickhouse:18
    docker exec -it pg_clickhouse psql -U postgres -c 'CREATE EXTENSION pg_clickhouse'

以后再次运行,只要docker start启动容器,docker exec -it登录即可

sql 复制代码
docker start pg_clickhouse
pg_clickhouse

docker exec -it pg_clickhouse psql -U postgres
psql (18.1 (Debian 18.1-1.pgdg13+2))
Type "help" for help.

postgres=# CREATE SERVER taxi_srv FOREIGN DATA WRAPPER clickhouse_fdw
       OPTIONS(driver 'binary', host 'localhost', dbname 'taxi');
CREATE SERVER
postgres=# CREATE USER MAPPING FOR CURRENT_USER SERVER taxi_srv
       OPTIONS (user 'default');
CREATE USER MAPPING
postgres=# CREATE SCHEMA taxi;
CREATE SCHEMA
postgres=# IMPORT FOREIGN SCHEMA taxi FROM SERVER taxi_srv INTO taxi;
ERROR:  pg_clickhouse: connection error: fail to connect: Connection refused

前几步都没有报错,导入SCHEMA报错了,应该是缺少一个运行中的clickhouse服务器。

相关推荐
Mr.Daozhi1 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具
小程故事多_801 小时前
Claude Code自定义workflow skills用法
数据库·人工智能·智能体
大鹏说大话1 小时前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
夏贰四2 小时前
数据建模工具如何筑牢数据根基?数据建模工具怎样落实标准体系?
数据库·数学建模·数据建模工具
程序猿阿伟3 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
二等饼干~za8986683 小时前
geo优化源码开发搭建技术分享
大数据·网络·数据库·人工智能·音视频
数据库小学妹3 小时前
HTAP混合负载架构:如何用一个数据库同时搞定交易和分析
数据库·经验分享·架构·dba
wuxinyan1233 小时前
工业级大模型学习之路029:解决双智能体调用数据库报错问题
数据库·人工智能·python·学习·智能体
Elastic 中国社区官方博客3 小时前
Elastic 线下 Meetup 将于 2026 年 7 月 26 号下午在深圳举行
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
YL200404264 小时前
【Redis实战篇】秒杀实现方案(以优惠券秒杀为例)
数据库·redis