获取发布包、依赖库和头文件
获取驱动包
下载表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值进行比较。
libpq依赖的库和头文件从驱动包中获取,驱动包中提供多种数据库内核操作系统支持,用户可根据实际使用的数据库内核操作系统信息定位对应文件。驱动包的文件层级关系参考以下结构:/Distributed/驱动类型/操作系统信息(例如:Euler2.10_X86_64)。该文件中包含2个压缩文件:GaussDB-Kernel_数据库版本号_操作系统信息_64bit_Libpq.tar.gz、GaussDB-Kernel_数据库版本号_操作系统信息_64bit_Libpq_Static.tar.gz。
Libpq_Static驱动包与Libpq驱动包在功能上一致,用户可根据实际应用场景选择适合的libpq.so库,区别在于:
- Libpq驱动包中的libpq.so动态链接openssl库(libssl.so、libcrypto.so)。
- Libpq_Static驱动包中的libpq.so静态链接openssl库,以解决在部分客户场景中与操作系统openssl版本不一致导致冲突的问题。
将以上压缩包解压后即可得到所需要的include、lib文件。其中include文件夹中的头文件为所需的头文件,lib文件夹中为所需的libpq库文件。使用libpq的程序必须包括头文件“libpq-fe.h”并且必须与lib目录下的libpq库进行连接。
除“libpq-fe.h”外,include文件夹下默认还存在头文件“postgres_ext.h”、“gs_thread.h”、“gs_threadlocal.h”,这三个头文件是“libpq-fe.h”的依赖文件。
libpq开发需要在Linux操作系统下进行。推荐使用以下编译环境:
- 操作系统:推荐与数据库内核版本保持一致。
- 编译器:推荐GCC 7.3或更高版本。
- 构建工具:make、Cmake(推荐使用CMake 3.10及以上版本进行构建)。
在开始编译前,请确保上述工具已正确安装并可通过命令行正常调用。