2

libpqをCでラップするライブラリを作成しています。のようなクエリを実行するDROP SCHEMA IF EXISTS bobと、bob存在しない場合、libpqは次のように出力します。

"NOTICE:  schema "bob" does not exist, skipping"

私の端末に、しかしその後成功します。同様に、それを使用してテーブルを作成するとid serial primary key、シーケンスが自動生成されたという通知が出力されます。

これを端末に出力するのを止めるにはどうすればよいですか?私のライブラリには、ユーザーが必要に応じてそのような情報を取得するための関数がありますが、このように端末に出力するだけではいけません。

PQexecParams()PQconnectdb()などのドキュメントには何も表示されませんでした。

4

2 に答える 2

4

マニュアルのlibpq - 通知処理を参照してください。デフォルトの通知プロセッサーを置き換えるには、通知プロセッサーを提供する必要があります。

デフォルトの通知プロセッサは次のとおりです。

static void
defaultNoticeProcessor(void *arg, const char *message)
{
    fprintf(stderr, "%s", message);
}
于 2012-09-19T23:47:32.427 に答える
0

1つのオプションは、stdout(および/またはstderr)を変更することです。

于 2012-09-19T23:42:41.440 に答える