postgres clickhouse_fdw插件集成之實力踩坑


github人氣較高兩個插件

準備條件:

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

multicorn安裝方式

筆者使用第一種方式?pip install pgxnclient

使用:執(zhí)行generate_clickhouse_fdw --db-name=events ,會生成psql客戶端可直接執(zhí)行的sql語句


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安裝方式筆者親測無效


Percona-Lab/clickhousedb_fdw安裝方式

odbc驅(qū)動安裝分割線


基于此選擇git下載,編譯安裝方式

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

odbc驅(qū)動對rpm的支持


clickhouse-odbc驅(qū)動

Altinity/clickhouse-odbc-rpm方式中,執(zhí)行?

? ??git clone?https://github.com/Altinity/clickhouse-odbc-rpm.git

? ? cd ${pathyourcode}

? ??./build.sh all

編譯過程較長

Altinity/clickhouse-odbc-rpm配置


odbc配置


? ? 配置需將可選設置解開,并確定驅(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)


Percona-Lab/clickhousedb_fdw


Infinidat/infi.clickhouse_fdw

并不能解決筆者的問題?。?/p>

以后認真閱讀README??!

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容