TDengine GO連(lian)接器支持(chi)(chi)window和linux系統,由(you)于TDengine GO連(lian)接器采(cai)用(yong)cgo方(fang)法,所以(yi)在windows環(huan)(huan)境(jing)下使用(yong)時,需要有(you)gcc支持(chi)(chi),因此,對(dui)windows系統,請先準備好(hao)如(ru)下的編譯環(huan)(huan)境(jing)。
一、安裝工具
安裝msys2
1、下(xia)載(zai)和(he)安裝鏈(lian)接(),選擇(ze)一個x86_64的穩(wen)定版本完成(cheng)安裝(假如安裝目錄(lu)為c:\msys64);
2、在(zai)c:\msys64\msys2_shell.cmd上(shang)點(dian)右鍵打開,然后(hou)在(zai)窗口上(shang)點(dian)右鍵, 選擇 Options ,更改字符(fu)集:Locale選擇zh_CN, Character set選擇GBK。點(dian)擊Apply后(hou),save。
3、修改 pacman 配置
編輯 c:\msys64\etc\pacman.d\mirrorlist.mingw32,在(zai)文件開頭添加:
Server = //mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
編輯 c:\msys64\etc\pacman.d\mirrorlist.mingw64,在文(wen)件(jian)開頭(tou)添(tian)加:
Server = //mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
編輯 c:\msys64\etc\pacman.d\mirrorlist.msys,在文件開頭(tou)添加:
Server = //mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
然后執行 pacman -Sy 刷新(xin)軟件包數據。如果有秘鑰未知的問題,請參考如下博文:
4、安裝gcc和make
pacman -S mingw-w64-x86_64-gcc
pacman -S make
5、配置環境變量
將C:\msys64\mingw64\bin C:\msys64\usr\bin 按以上順序添加到系統變量 path中。
二、安裝TDengine
GO連接(jie)器依賴于TDengine的動態(tai)庫(ku),所以,先要安(an)裝TDengine的客戶端(duan)或服務端(duan),都會安(an)裝TDengine的動態(tai)庫(ku)。
具體安裝指南(nan),請參見官方博(bo)客:
//tdengine.com/2019/08/09/566.html
三、使用示例
在TDengine安裝后,在example/go目錄(lu)下(xia)有一個taosdemo.go的(de)樣例程序,下(xia)面以此為(wei)例描述編(bian)譯、運行步驟。
1、建議(yi)安裝go 1.13及以上版本;
2、提前設(she)置好go環境變(bian)量:
jason@VirtualBox ~$ go env -w GO111MODULE=on jason@VirtualBox ~$ go env -w GOPROXY=//goproxy.io,direct
3、進入example/go目錄,先后執行如(ru)下命令:
jason@VirtualBox ~/TDengine/tests/examples/go$ go mod init demo jason@VirtualBox ~/TDengine/tests/examples/go$ go build jason@VirtualBox ~/TDengine/tests/examples/go$ ./demo ============= args parse result: ============= dbName: 127.0.0.1 serverPort: 6030 usr: root password: taosdata dbName: test tablePrefix: d numOftables: 2 numOfRecordsPerTable: 10 numOfRecordsPerReq: 3 numOfThreads: 1 startTimestamp: 2020-10-01 08:00:00[1601510400000] Please press enter key to continue…. ======== create database success! ======== create tables spent duration: 0.035178s ======== create super table and child tables success! ======== insert data spent duration: 0.006006s ======== insert data into child tables success! ======== query sql: select * from test.meters limit 3 offset 0 ts:2020-10-01 08:00:01.000 current:200.999390 voltage:286 phase:0.162647 location:Beijing groupid:0 ts:2020-10-01 08:00:02.000 current:200.415726 voltage:966 phase:0.785816 location:Beijing groupid:0 ts:2020-10-01 08:00:03.000 current:200.334427 voltage:587 phase:0.123541 location:Beijing groupid:0 query sql: select avg(voltage), min(voltage), max(voltage) from test.d0 avg(voltage):-107374184.000000 min(voltage):244 max(voltage):966 query sql: select last(*) from test.meters last(ts):2020-10-01 08:00:20.000 last(current):200.497757 last(voltage):170 last(phase):0.141704 ======== select data success! ======== ======== end demo ========


























