pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
下面的例程用于从 C 程序建立与后端的连接。
PQsetdbLogin 与后端建立一个新连接。
PGconn *PQsetdbLogin(const char *pghost,
const char *pgport,
const char *pgoptions,
const char *pgtty,
const char *dbName,
const char *login,
const char *pwd);
如果任何参数为 NULL,则检查相应的环境变量。如果环境变量也未设置,则使用硬编码的默认值。 PQsetdbLogin 总是返回有效的 PGconn 指针。在通过连接发送查询之前,应当调用 PQstatus(见下文)确认连接已正确建立。libpq 程序员应注意维护 PGconn 的抽象。请使用下面的访问函数获取 PGconn 的内容。避免直接引用 PGconn 结构的字段,因为它们将来可能改变。
PQsetdb 与后端建立一个新连接。
PGconn *PQsetdb(char *pghost,
char *pgport,
char *pgoptions,
char *pgtty,
char *dbName);
这是一个宏,以空指针作为 login 和 pwd 参数调用 PQsetdbLogin()。
PQconndefaults 返回连接选项。
PQconninfoOption *PQconndefaults(void)
struct PQconninfoOption
{
char *keyword; /* The keyword of the option */
char *environ; /* Fallback environment variable name */
char *compiled; /* Fallback compiled in default value */
char *val; /* Options value */
char *label; /* Label for field in connect dialog */
char *dispchar; /* Character to display for this field
in a connect dialog. Values are:
"" Display entered value as is
"*" Password field - hide value
"D" Debug options - don't
create a field by default */
int dispsize; /* Field size in characters for dialog */
};
返回连接选项结构的地址。它可用来确定所有可用选项及其当前值。
PQdb 返回连接的数据库名。
char *PQdb(PGconn *conn)
PQhost 返回连接的主机名。
char *PQhost(PGconn *conn)
PQoptions 返回连接中使用的 pgoptions。
char *PQoptions(PGconn *conn)
PQport 返回连接的 pgport。
char *PQport(PGconn *conn)
PQtty 返回连接的 pgtty。
char *PQtty(PGconn *conn)
PQstatus 返回连接的状态。状态可以是 CONNECTION_OK 或 CONNECTION_BAD。
ConnStatusType *PQstatus(PGconn *conn)
PQerrorMessage 返回与连接相关联的错误消息
char *PQerrorMessage(PGconn* conn);
PQfinish 关闭与后端的连接,同时释放 PGconn 结构使用的内存。调用过 PQfinish 之后,不应再使用该 PGconn 指针。
void PQfinish(PGconn *conn)
PQreset 重置与后端的通信端口。此函数将关闭到后端的 IPC 套接字连接,并尝试与同一个后端重新建立新连接。
void PQreset(PGconn *conn)
PQtrace 打开前端与后端之间所传消息的跟踪。这些消息会被回显到 debug_port 文件流。
void PQtrace(PGconn *conn,
FILE* debug_port);
PQuntrace 关闭前端与后端之间所传消息的跟踪。
void PQuntrace(PGconn *conn);
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。