选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.6 已于 2021 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

34.11. 库函数 #

libecpg库主要包含用于实现嵌入式 SQL 命令功能的隐藏函数,也有一些适合直接调用的函数。注意,直接调用这些函数会使代码失去可移植性。

  • 调用ECPGdebug(int on, FILE *stream)时,如果第一个参数非零,就会启用调试日志。日志写入stream,包含代入全部输入变量后的所有SQL语句,以及PostgreSQL服务器返回的结果。这对于查找SQL语句中的错误很有用。

    注意

    在 Windows 上,如果ecpg库和应用使用不同标志编译的,这个函数调用将会使应用崩溃,因为FILE指针的内部表示不同。特别地,库和使用库的应用应该使用相同的多线程/单线程、发行/调试以及静态/动态标志。

  • ECPGget_PGconn(const char *connection_name) 返回由给定名称标识的库数据库连接句柄。如果connection_name被设置为NULL,当前连接句柄将被返回。如果无法定位到连接句柄,该函数返回NULL。如果需要,返回的连接句柄可以被用来调用任何其他来自于libpq的函数。

    注意

    直接使用libpq例程来操纵ecpg中建立的数据库连接句柄是一种糟糕的做法。

  • ECPGtransactionStatus(const char *connection_name) 返回由 connection_name 标识的连接的当前事务状态。返回状态码的详细信息,参见 第 32.2 节 和 libpq 的 PQtransactionStatus()

  • 如果你连接到了一个数据库,ECPGstatus(int lineno, const char* connection_name)会返回真;否则返回假。 如果使用的是一个单一连接,connection_name可以为NULL

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。