libpq 制御関数

バックエンドからの注意メッセージを, libpq はデフォルトで標準エラー出力に出力します. もちろん,わずかですが libpq 自身が生成するエラーメッセージも, 同じように出力されます. この動作は,メッセージテキストに対して何らかの処理をするコールバック関数 (警告プロセッサ)を用意すれば,置き換えることができます. このコールバック関数には,エラーメッセージのテキスト(末尾に改行を含む)と, PQsetNoticeProcessor に渡された void 型のポインタがそのまま 渡されます. (必要であれば,このポインタをアプリケーション固有の状態を知るために使います) デフォルトの警告プロセッサは単純なものです:

static void
defaultNoticeProcessor(void * arg, const char * message)
{
    fprintf(stderr, "%s", message);
}

特定の警告プロセッサを使うには,PGconn オブジェクトを生成したのちに, PQsetNoticeProcessor を呼び出すだけです.