制御関数

PostgreSQL 9.0.0文書
前のページ | 巻戻し | 第 31章libpq - C ライブラリ | 早送り | 次のページ

# 31.9. 制御関数

これらの関数はlibpqの動作の各種詳細を制御します。

`PQclientEncoding`

  クライアント符号化方式を返します。

      int PQclientEncoding(const PGconn *conn);

  これが`EUC_JP`などのシンボル文字列ではなく符号化方式IDを返すことに注意してください。 符号化方式IDを符号化方式名に変換するためには以下を使用してください。

      char *pg_encoding_to_char(int encoding_id);

`PQsetClientEncoding`

  クライアント符号化方式を設定します。

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

  `conn`はサーバへの接続、`encoding`は使用したい符号化方式です。 この関数は符号化方式の設定に成功すると、ゼロを返します。 さもなくば-1を返します。 この接続における現在の符号化方式は`PQclientEncoding`を使用して決定することができます。

`PQsetErrorVerbosity`

  `PQerrorMessage`と`PQresultErrorMessage`で返されるメッセージの冗長度を決定します。

      typedef enum
      {
          PQERRORS_TERSE,
          PQERRORS_DEFAULT,
          PQERRORS_VERBOSE
      } PGVerbosity;

      PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity);

  `PQsetErrorVerbosity`は冗長度モードを設定し、接続における以前の状態を返します。 TERSEモードでは、返されるメッセージには深刻度、主テキスト、位置のみが含まれます。 これは通常単一行に収まります。 デフォルトモードでは、上に加え、詳細、ヒント、文脈フィールドが含まれるメッセージが生成されます。 （これは複数行に跨るかもしれません。） VERBOSEモードでは、全ての利用可能なフィールドが含まれます。 冗長度の変更は、既に存在する`PGresult`オブジェクト内から取り出せるメッセージには影響を与えません。 その後に作成されたオブジェクトにのみ影響を与えます。

`PQtrace`

  クライアント／サーバ間の通信トレースを有効にし、デバッグ用のファイルストリームに書き出します。

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

  > 注意: Windowsにおいて、libpqライブラリとアプリケーションを異なるフラグでコンパイルすると、この関数呼び出しで`FILE`ポインタの内部表現の違いによりアプリケーションはクラッシュするでしょう。 特に、このライブラリを使用するアプリケーションでは、マルチスレッド/シングルスレッド、リリース/デバッグ、静的リンク/動的リンクに関して、ライブラリと同じフラグを使わなければなりません。

`PQuntrace`

  `PQtrace`によって起動されたトレース処理を無効にします。

      void PQuntrace(PGconn *conn);

前のページ | ホーム | 次のページ
`COPY`コマンド関連関数 | 上に戻る | 雑多な関数