PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 31. libpq - C 库 | 下一页

# 31.10. 控制函数

这些函数控制许多libpq其他行为的细节。

`PQclientEncoding`

  返回客户端编码。

      int PQclientEncoding(const PGconn *conn);

  请注意，它返回编码ID，而不是一个符号串如`EUC_JP`。 如果未成功，它返回-1。转换编码的ID为一个编码名称，你可以使用：

      char *pg_encoding_to_char(int encoding_id);

`PQsetClientEncoding`

  设置客户端编码。

      int PQsetClientEncoding(PGconn *conn, const char *encoding);

  `conn`是一个到服务器的连接，`encoding` 是你想要的编码使用。如果函数成功设置编码，则返回0，否则返回-1。 这个链接的当前编码可以通过`PQclientEncoding`确定。

`PQsetErrorVerbosity`

  决定`PQerrorMessage`和`PQresultErrorMessage`返回的信息的冗余程度。

      typedef enum
      {
          PQERRORS_TERSE,
          PQERRORS_DEFAULT,
          PQERRORS_VERBOSE
      } PGVerbosity;

      PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity);

  `PQsetErrorVerbosity`设置冗余模式，返回连接的前一个设置。在TERSE模式下， 返回的消息只包括严重性，主信息，以及位置信息；这些东西通常只有一行。 缺省模式生成的消息包括上面的信息加上任何细节，提示，或者环境字段（这些可能跨越几行）。 VERBOSE模式包括所有可以获得的字段。修改冗余模式不会影响我们从已经存在 `PGresult`对象中获取的信息，只有随后创建的`PGresult`对象才受到影响。

`PQtrace`

  打开对前端/服务器通讯的跟踪，把调试信息输出到一个文件流里。

      void PQtrace(PGconn *conn, FILE *stream);

  > 注意: 在Windows上，如果libpq库和应用使用了不同的标志编译， 那么这个函数调用会导致应用崩溃，因为`FILE`指针的内部表现形式是不一样的。 特别是多线程/单线程，发布/调试，以及静态/动态标志应该是库和所有使用库的应用都一致。

`PQuntrace`

  关闭`PQtrace`打开的跟踪。

      void PQuntrace(PGconn *conn);

上一页 | 起始页 | 下一页
与`COPY`命令相关的函数 | 上一级 | 各种函数