云数据库GaussDB 主备版部署形态未对此接口在应用程序开发场景下的使用做验证。因此对使用此接口做应用程序开发存在的风险未知,故不推荐用户使用此套接口做应用程序开发。推荐用户使用ODBC或JDBC接口来替代。
前提条件
编译并且链接一个libpq的源程序,需要做下面的一些事情:
- 获取libpq驱动,
- 解压GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-Libpq.tar.gz文件,其中include文件夹下的头文件为所需的头文件,lib文件夹中为所需的libpq库文件。
说明:
除libpq-fe.h外,include文件夹下默认还存在头文件postgres_ext.h,gs_thread.h,gs_threadlocal.h,这三个头文件是libpq-fe.h的依赖文件。
- 包含libpq-fe.h头文件:
#include <libpq-fe.h>
- 通过-I directory选项,提供头文件的安装位置(有些时候编译器会查找缺省的目录,因此可以忽略这些选项)。如:
gcc -I (头文件所在目录) -L (libpq库所在目录) testprog.c -lpq
- 如果要使用制作文件(makefile),向CPPFLAGS、LDFLAGS、LIBS变量中增加如下选项:
CPPFLAGS += -I (头文件所在目录)
LDFLAGS += -L (libpq库所在目录)
LIBS += -lpq
常用功能示例代码
此处以示例来说明连接方式:
示例1:
/*testlibpq.c
*/
#include
示例2:
/*testlibpq2.c 测试外联参数和二进制I/O。在运行这个例子之前,用下面的命令填充一个数据库 CREATE TABLE test1 (i int4, t text);INSERT INTO test1 values (2, 'ho there');期望的输出是:tuple 0: got i = (4 bytes) 2 t = (8 bytes) 'ho there'
*/
#include