
準備條件:
clickhouse:官網(wǎng)安裝文檔
postgres:Percona-Lab/clickhousedb_fdw要求版本11,推薦源碼安裝,yum方式會少很多文件,導致Percona-Lab/clickhousedb_fdw編譯不通過
系統(tǒng)要求:clickhouse要求unix環(huán)境或docker,本人工作電腦為windows10且生產(chǎn)服務器為centos,因此使用VirtualBox安裝centos7極簡鏡像,網(wǎng)絡模式推薦橋接,若有ip限制則使用NAT進行端口轉發(fā),則可使用xshell之類的工具連接
Infinidat/infi.clickhouse_fdw
該插件作用較簡單,生成psql客戶端可執(zhí)行的sql語句,然而執(zhí)行時limit to會報語法錯誤
安裝:easy_install infi.clickhouse_fdw(前置條件python,?multicorn)

筆者使用第一種方式?pip install pgxnclient
使用:執(zhí)行generate_clickhouse_fdw --db-name=events ,會生成psql客戶端可直接執(zhí)行的sql語句

執(zhí)行該sql建立clickhouse外部表,在clickhouse events數(shù)據(jù)庫中創(chuàng)建表,插入數(shù)據(jù),即可在postgres中查詢該表中的數(shù)據(jù)
Percona-Lab/clickhousedb_fdw
Percona-Lab/clickhousedb_fdw中的插件下載鏈接404,deb / rpm安裝方式筆者親測無效

odbc驅(qū)動安裝分割線
基于此選擇git下載,編譯安裝方式
前置條件:odbc驅(qū)動,官網(wǎng)推薦鏈接中,對centos支持并不友好,筆者在嘗試許久后,選擇了Altinity/clickhouse-odbc-rpm方式安裝


Altinity/clickhouse-odbc-rpm方式中,執(zhí)行?
? ??git clone?https://github.com/Altinity/clickhouse-odbc-rpm.git
? ? cd ${pathyourcode}
? ??./build.sh all
編譯過程較長
Altinity/clickhouse-odbc-rpm配置

? ? 配置需將可選設置解開,并確定驅(qū)動是否存在,配置成功之后執(zhí)行isql -v ClickHouse成功則證明驅(qū)動安裝成功
Percona-Lab/clickhousedb_fdw安裝
Altinity/clickhouse-odbc-rpm安裝成功之后,
執(zhí)行git clone git://github.com/Percona-Lab/clickhousedb_fdw.git
cd clickhousedb_fdw
make USE_PGXS=1
make USE_PGXS=1 install
其中會報錯-lclickhouse-1.0找不到,查看odbc配置中,發(fā)現(xiàn)驅(qū)動名稱為libclickhouseodbc,
解決方法:
1)驅(qū)動重命名,并做軟連接
mv /usr/local/lib64/odbc/libclickhouseodbc.so?/usr/local/lib64/odbc/libclickhouse-1.0.so
ln -s?/usr/local/lib64/odbc/libclickhouse-1.0.so > /usr/bin/ld
2)改變makefile中驅(qū)動名稱
sed -i 's/clickhouse-1.0/clickhouseodbc/g'? ?`grep -rl? clickhouse-1.0?${rootOfclickhousedb_fdw}?`
筆者采用第二種方法
之后可按照Percona-Lab/clickhousedb_fdw中使用步驟進行測試
總結
筆者安裝此插件是想解決postgres clickhouse數(shù)據(jù)同步問題,歷經(jīng)千辛萬苦之后筆者發(fā)現(xiàn)


并不能解決筆者的問題?。?/p>
以后認真閱讀README??!