c语言访问postgresql有两种方式

291 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

c语言访问postgresql有两种方式

1、通过libpq

ibpq 是一套允许客户程序向PostgreSQL 服务器服务进程发送查询并且获得查询返回的库函数。 libpq同时也是其他几个PostgreSQL 应用接口下面的引擎,包括 C++,Perl,Python,Tcl 和ECPG。 c语言调用libpq库,同java使用jdbc原理效果一样。

使用libpq的必须包括头文件 libpq-fe.h 并且编译的时候 必须加上 -lpq。
#include <libpq-fe.h> 必须写在.c文件头部

在这里插入图片描述

直接调用libpq库中函数对postgresql数据库进行操作。 在这里插入图片描述 conninfo配置远程数据库信息:
host:postgresql数据库ip地址
port:postgrepsql数据库端口
dbname:postgrepsql数据库名
user:用户名
password:密码

PQstatus(conn) == CONNECTION_OK 检查是否连接数据库成功。
PQexec(conn, "BEGIN"); 开始事务
PQexec(conn, "END"); 结束事务
PQexec(conn, "select * from test"); 执行sql语句
记的做好返回值判断,这里就不贴代码了。

其他函数参考:中文postgresql手册

运行编译之后程序,需要以下库。注意库版本和服务端版本对应。 在这里插入图片描述

2、通过ESQL

esql嵌入式sql是在c程序中直接使用sql语句。和oracle的proc一样,postgresql提供工具ecpg来编译嵌入式c文件。 使用时注意使用ecpg和postgresql的服务端版本相同。

C语言中直接使用SQL语句进行操作,编译时加上-lecpg 在这里插入图片描述 运行所需库文件 在这里插入图片描述