更新时间:2026-07-28 GMT+08:00
分享

获取发布包、依赖库和头文件

获取驱动包

下载表1中的驱动包和驱动包校验包。

表1 驱动包下载列表

版本

下载地址

V2.0-10.x

驱动包

驱动包校验包

为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下:
  • Linux操作系统软件包完整性校验:
    1. 上传软件包和软件包校验包到虚拟机的同一目录下。
    2. 执行如下命令,校验软件包完整性。
      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操作系统软件包完整性校验:
    1. 使用快捷键“Win+R”打开“运行”窗口。 在“打开”栏,输入“cmd”,按“Enter”回车,打开命令行页面。
    2. 执行以下命令,获取驱动包的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

    3. 2获取到的Hash值和表1中获取到的驱动包校验包的Hash值进行比较。
      • 若一致则通过校验。
      • 若不一致,请重新下载驱动包,重复1~3进行校验。

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及以上版本进行构建)。

在开始编译前,请确保上述工具已正确安装并可通过命令行正常调用。

相关文档