我正在编写一个在L.CbPQ中封装LBPQ的库,当我执行一个查询,比如DROP SCHEMA IF EXISTS bob
和bob
不存在时,LBPQ输出
"NOTICE: schema "bob" does not exist, skipping"
进入我的终端,但随后成功。类似地,如果我用
id serial primary key
创建一个表,它会打印一个自动生成序列的通知。我怎样才能阻止它把这个打印到终端上?如果用户需要,我的库中有函数来获取这些信息,但它不应该像这样直接输出到终端。
我在
PQexecParams()
或PQconnectdb()
等文档中没有看到任何内容。 最佳答案
参见手册中的libpq - notice processing。您需要提供一个通知处理器来替换默认处理器。
默认的通知处理程序是:
static void
defaultNoticeProcessor(void *arg, const char *message)
{
fprintf(stderr, "%s", message);
}
关于c - libpq将通知输出到终端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12504325/