Go驱动包、环境类和驱动类
Go驱动包
从发布包中获取。包名为GaussDB -Kernel-VxxxRxxxCxx-操作系统版本号-64bit-Go.tar.gz。解压后为Go驱动源码包。
数据库提供的Go驱动包依赖Go 1.13及以上版本。
环境类
- Go环境配置
- 用户需要在环境变量中配置以下参数:
- GO111MODULE:用户使用在线导入的方式安装Go驱动时需要设置GO111MODULE为on;如果不希望进行go mod工程的改造,需将GO111MODULE设置为off,并手动下载依赖包,依赖包与驱动根目录和业务代码保持同级。
- GOPROXY:用户使用在线导入时需配置包含Go驱动包的路径。
- 用户可以根据自己场景参数配置Go其他相关环境变量。
通过go env查看Go环境变量配置结果,并且查看Go版本是否在1.13或以上。
- Go驱动安装
- 下载Go驱动包到本地,Go驱动仓库地址:https://open.codehub.huawei.com/OpenSourceCenter/openGauss-connector-go-pq/。
- 进入Go驱动代码根路径,执行go mod tidy下载相关依赖,需要在环境变量中配置GOPATH=${Go驱动依赖包存放路径}。
- 若依赖已下载至本地,可以在go.mod里面添加一行“通过replace将Go驱动包替换为本地Go驱动包地址”,表示代码里面所有的import Go驱动包都是走本地路径, 同时依赖也不会从代理里下载。
通过go mod tidy下载相关依赖时可能会下载为某个依赖的低版本,如果依赖的低版本存在漏洞,可以通过更改go.mod文件中对应依赖的版本号,更新依赖到漏洞修复后的版本来规避风险。
驱动类
在创建数据库连接时,需要传入数据库驱动名称“opengauss”。
- 由于数据库的Go驱动当前不适配业界成熟ORM框架(比如xorm),在创建数据库连接时传入的驱动名称兼容“postgres”和“postgresql”。
- 数据库的Go驱动无法与PostgreSQL的Go驱动并存。