检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于libpq开发 libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了两个示例显示如何利用libpq编写代码。
基于Go驱动开发 Go驱动环境搭建 开发流程 连接数据库 连接数据库(以SSL方式) Go接口参考 父主题: 应用程序开发教程
PQexec 功能描述 向服务器提交一条命令并等待结果。 原型 PGresult* PQexec(PGconn* conn, const char* query); 参数 表1 PQexec参数 关键字 参数说明 conn 指向包含连接的对象指针。 command 需要执行的查询字符串。
PANIC 默认值:WARNING 指定某一级别后,写到日志的信息包含所有更高级别会输出的信息。级别越高,服务器日志的信息越少。 log_min_error_statement 配置写到服务器日志中错误SQL语句的级别。 DEBUG5 DEBUG4 DEBUG3 DEBUG2 DEBUG1
c),然后再通过编译器处理。转换过的ecpg应用通过嵌入式SQL库(ecpglib)调用libpq库中的函数,与GaussDB Kernel服务器使用普通的前端/后端协议通信。 嵌入式SQL程序是插入了数据库相关动作的特殊代码的C语言程序。这种特殊代码形式通常如下: EXEC SQL
PQsendQuery 功能描述 向服务器提交一个命令而不等待结果。如果查询成功发送则返回1,否则返回0。 原型 int PQsendQuery(PGconn *conn, const char *command); 参数 表1 PQsendQuery参数 关键字 参数说明 conn
连接数据库 连接到数据库是使用libpq开发应用程序的第一步。此时用户可以使用PQconnectdb或PQsetdbLogin函数来建立与数据库服务器的连接。这些函数将返回一个连接对象,用户需要保存这个连接对象,以便后续的数据库操作。 以开发源程序testlibpq.c为例(完整示例请参考数据库建连、执行SQL并返回结果):
要连接的主机名,详见连接参数描述的host字段。 pgport 主机服务器的端口号,详见连接参数描述的port字段。 pgoptions 添加命令行选项以在运行时发送到服务器,详见连接参数描述的options字段。 pgtty 忽略(以前该选项声明服务器日志的输出方向)。 dbName 要连接的数据库
} } 示例2 客户端内存占用过多解决 此示例主要使用setFetchSize来调整客户端内存使用,它的原理是通过数据库游标来分批获取服务器端数据,但它会加大网络交互,可能会损失部分性能。 由于游标事务内有效,故需要先关闭自动提交,最后需要执行手动提交。 1 2 3 4
PQexec 功能描述 向服务器提交一条命令并等待结果。 原型 PGresult *PQexec(PGconn *conn, const char *command); 参数 表1 PQexec参数 关键字 参数说明 conn 指向包含链接的对象指针。 command 需要执行的查询字符串。
PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。
基于libpq开发 libpq是GaussDB C应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回值的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了示例显示如何利用libpq编写代码。
PQflush 功能描述 尝试将任何排队的输出数据刷新到服务器。 原型 int PQflush(PGconn* conn); 参数 表1 PQflush参数 关键字 参数说明 conn 指向包含连接信息的对象指针。 返回值 int:如果成功(或者如果发送队列为空),则返回0;如果
PQsendQueryParams 功能描述 给服务器提交一个命令和分隔的参数,而不等待结果。 原型 int PQsendQueryParams(PGconn *conn, const char *command,
PQflush 功能描述 尝试将任何排队的输出数据刷新到服务器。 原型 int PQflush(PGconn* conn); 参数 表1 PQflush参数 关键字 参数说明 conn 指向包含连接信息的对象指针。 返回值 int:如果成功(或者如果发送队列为空),则返回0;如果
PQsendQueryParams 功能描述 给服务器提交一个命令和分隔的参数,而不等待结果。 原型 int PQsendQueryParams(PGconn* conn, const char* command, int nParams, const Oid* paramTypes
c),然后再通过编译器处理。转换过的ecpg应用通过嵌入式SQL库(ecpglib)调用libpq库中的函数,与GaussDB Kernel服务器使用普通的前端/后端协议通信。 嵌入式SQL程序是插入了数据库相关动作的特殊代码的C语言程序。这种特殊代码形式通常如下: EXEC SQL
PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。
PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。
PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。