TDengine Go Connector
driver-go
是 TDengine 的官方 Go 语言连接器,实现了 Go 语言 database/sql 包的接口。Go 开发人员可以通过它开发存取 TDengine 集群数据的应用软件。
本文介绍如何安装 driver-go
,并通过 driver-go
连接 TDengine Cloud 集群、进行数据查询、数据写入等基本操作。
driver-go
的源码托管在 GitHub。
版本支持
请参考版本支持列表
安装步骤
安装前准备
- 安装 Go 开发环境(Go 1.14 及以上,GCC 4.8.5 及以上)
- 如果使用原生连接器,请安装 TDengine 客户端驱动,具体步骤请参考安装客户端驱动
配置好环境变量,检查命令:
go env
gcc -v
使用 go get 安装
go get -u github.com/taosdata/driver-go/v3@latest
使用 go mod 管理
- 使用
go mod
命令初始化项目:
go mod init taos-demo
- 引入 taosSql :
import (
"database/sql"
_ "github.com/taosdata/driver-go/v3/taosSql"
)
- 使用
go mod tidy
更新依赖包:
go mod tidy
- 使用
go run taos-demo
运行程序或使用go build
命令编译出二进制文件。
go run taos-demo
go build
建立连接
数据源名称(DSN)
数据源名称具有通用格式,例如 PEAR DB,但没有类型前缀(方括号表示可选):
[username[:password]@][protocol[(address)]]/[dbname][?param1=value1&...¶mN=valueN]
完整形式的 DSN:
username:password@protocol(address)/dbname?param=value
使用连接器进行连接
taosRestful 通过 http client
实现了 Go 的 database/sql/driver
接口。只需要引入驱动就可以使用database/sql
的接口。
使用 taosRestful
作为 driverName
并且使用一个正确的 DSN 作为 dataSourceName
,DSN 支持的参数:
disableCompression
是否接受压缩数据,默认为 true 不接受压缩数据,如果传输数据使用 gzip 压缩设置为 false。readBufferSize
读取数据的缓存区大小默认为 4K(4096),当查询结果数据量多时可以适当调大该值。