前言
使用到的插件及数据库版本:
Postgresql:10.8
ClickHouse:20.9.3.45
Postgresql-JDBC-driver:42.2.5
JDBC表引擎可以对接Mysql、Postgresql、SQLite等数据库,但是JDBC表引擎不能单独完成对接工作,需要依赖clickhouse-jdbc-bridge的查询代理服务,clickhouse-jdbc-bridge是java语言实现的sql代理服务,项目地址为:
https://github.com/ClickHouse/clickhouse-jdbc-bridge
java -jar ./clickhouse-jdbc-bridge-1.0.jar --driver-path lib --listen-host 127.0.0.1
参数说明:
–driver-path jdbc驱动存放的路径
–listen-host 代理服务绑定的IP及端口(端口默认为9019)
启动后,日志如下:
vi /etc/clickhouse-server/config.xml
添加如下配置:
<jdbc_brige>
<host>127.0.0.1</host>
<port>9019</port>
</jdbc_brige>
ENGINE = JDBC(‘JDBC:url’, ‘database’, ‘table’)
CREATE TABLE nt_order_payment
(
`id` Int32,
`order_no` String
)
ENGINE JDBC('jdbc:postgresql://xxxx:5432/test?user=xxx&password=xxx', '', 'nt_order_payment');
select count(0) from nt_order_payment;
这时候可以去代理服务clickhouse-jdbc-bridge查看日志输出:
日志显示,jdbc表引擎首先会去ping以下代理服务,ping通之后会向代理服务发送查询请求
select id,order_no from jdbc('jdbc:postgresql://xxx:5432/xxx?user=xxx&password=xxx', '', 'nt_order_payment') limit 1;
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://gaokaiyang.blog.csdn.net/article/details/109185543
内容来源于网络,如有侵权,请联系作者删除!