↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

不受支持的版本: 6.5 / 6.3
历史版本PostgreSQL 6.3 已于 2003 年 3 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

41.2. 数据库连接函数

下面的例程用于从 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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。