?
This document uses PHP Chinese website manual Release
這些函數控制許多libpq雜項行為的細節(jié)。
PQclientEncoding
Returns the client encoding. 返回客戶端編碼。
int PQclientEncoding(const PGconn *conn);
請注意,它返回編碼ID,而不是一個符號串 如EUC_JP。轉換編碼的ID為一個你可以使用的編碼名稱,
char *pg_encoding_to_char(intencoding_id);
PQsetClientEncoding
Sets the client encoding. 設置客戶端編碼。
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模式下,
返回的消息只包括嚴重性,主信息,以及位置信息;這些東西通常只有一行。
缺省模式生成的消息包括上面的信息加上任何細節(jié),提示,或者環(huán)境字段(這些可能跨越幾行)。
VERBOSE模式包括所有可以獲得的字段。修改冗余模式不會影響我們能從已經存在
的PGresult對象中獲取的信息,只有隨后創(chuàng)建的PGresult對象才受到影響。
PQtrace
打開對前端/服務器通訊的跟蹤,把調試信息輸出到一個文件流里。
void PQtrace(PGconn *conn,FILE *stream);
Note: 注意: 在 Windows 里,如果libpq庫和應用使用了不同的標志編譯,那么這個函數調用會導致應用崩潰, 因為FILE的內部表現形式是不一樣的。特別是多線程/單線程,發(fā)布/調試, 以及靜態(tài)/動態(tài)標志應該是庫和所有使用庫的應用都一致。
PQuntrace
關閉PQtrace
打開的跟蹤。
void PQuntrace(PGconn *conn);