更新时间:2026-07-28 GMT+08:00
环境准备
获取驱动包
下载表1中的驱动包和驱动包校验包。
为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下:
- Linux操作系统软件包完整性校验:
- 上传软件包和软件包校验包到虚拟机的同一目录下。
- 执行如下命令,校验软件包完整性。
F=$(echo DBS-GaussDB-driver*.tar.gz);echo "$(awk '{print $1}' "$F.sha256") $F" | sha256sum -c -如果回显OK,则校验通过。例如:
DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz: OK
- Windows操作系统软件包完整性校验:
- 使用快捷键“Win+R”打开“运行”窗口。 在“打开”栏,输入“cmd”,按“Enter”回车,打开命令行页面。
- 执行以下命令,获取驱动包的Hash值。
certutil -hashfile {驱动包本地目录}\{驱动包名} sha256
- {驱动包本地目录}:请根据实际下载目录进行替换。例如:C:\Users
- {驱动包名}:请根据实际下载的驱动包名进行替换。例如:DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz
示例:certutil -hashfile C:\Users\DBS-GaussDB-driver_507.0_20260629130806.133858239.tar.gz sha256
- 将2获取到的Hash值和表1中获取到的驱动包校验包的Hash值进行比较。
获取Go驱动包
- 解压获取到的驱动包。驱动包的文件层级关系参考以下结构:DBS-GaussDB-driver_*/数据库部署形态/驱动类型/操作系统架构/发布包/驱动包
- 选择数据库部署形态。
驱动包不区分部署形态,可选择Centralized/Distributed任意一种数据库部署形态对应的驱动包。
- 选择驱动类型。
选择go_driver.tar.gz,并解压。
- 选择操作系统架构。
- 非密态功能不依赖系统架构,可选择任意一种操作系统架构。
- 密态功能需要严格选择对应系统架构的目录,可使用以下命令查看客户端系统架构。
uname -a
- 选择go发布包。
- 解压go发布包,则可获取Go驱动源码包:openGauss-connector-go-pq。
配置环境变量
- GO111MODULE:用户使用在线导入的方式安装Go驱动时需要设置GO111MODULE为on。
export GO111MODULE=on
如果不希望进行go mod工程的改造,需将GO111MODULE设置为off,并手动下载依赖包。依赖包与驱动根目录和业务代码保持同级。
- GOPROXY:用户使用在线导入时需配置包含Go驱动包的路径[path-to-goproxy]。
export GOPROXY=[path-to-goproxy]
- GOPATH:Go驱动依赖包存放路径[path-to-gopath]。
export GOPATH=[path-to-gopath]
- Go版本要求在1.13或以上,可以执行以下命令查看Go环境变量GOVERSION的配置值。
go env
- 用户根据场景需要,配置其他的Go环境变量。
下载依赖包
- Go Modules开启时(即GO111MODULE为on),可进入Go驱动代码根路径,执行以下命令下载驱动代码所需相关依赖。
go mod tidy
- 完成步骤2后,在go.mod文件中添加以下一行,替换驱动包依赖模块路径。
replace [Go驱动模块名] => [Go驱动包本地路径]
- [Go驱动模块名],根据实际使用Go驱动模块名修改。
- [Go驱动包本地路径],根据实际Go驱动本地路径修改。
以代码xxx.go中引用Go驱动为例:
// xxx.go package main import ( _ "openGauss-connector-go-pq" )
go.mod文件添加以下内容:
replace openGauss-connector-go-pq => [path-to-driver]/openGauss-connector-go-pq
- 示例xxx.go中“openGauss-connector-go-pq”为驱动模块名,用户可根据自身需求修改。
- go.mod中[path-to-driver]/openGauss-connector-go-pq为本地Go驱动包路径, 该行将xxx.go中引用的Go驱动模块名openGauss-connector-go-pq指向本地Go驱动[path-to-driver]/openGauss-connector-go-pq。
- 通过go mod tidy下载相关依赖时可能会下载某个依赖的低版本,如果依赖的低版本存在漏洞,可以通过更改go.mod文件中对应依赖的版本号,更新依赖到漏洞修复后的版本来规避风险。
- 使用go 1.13版本或以上即可,runtime运行库需要更新至1.18版本或以上。
父主题: 开发步骤