我正在研究一个与PostgreSQL交谈的C应用程序。现在我需要处理服务器发送的通知和警告,但是我不知道如何使其工作。PostgreSQL通知处理
(非常不清楚)documentation表示我们应该使用PQsetNoticeReceiver将方法设置为通知的接收方,因为默认接收方只是将通知转发给PQnoticeProcessor并将其打印到stderr。
我已经定义了一个方法,从而
static void noticeReceiver(void *arg, const PGresult *res)
,我因此
PQsetNoticeReceiver(conn, noticeReceiver, NULL);
在启动时将其设置为默认的通知接收器在我的方法实现我只是印刷一些随机的字符屏幕,但它不会被调用。逐步调试显示它被设置为默认通知接收者,但从未被调用过。
任何想法?
你确定你的程序接收任何通知/警告? – 2010-01-04 19:24:25
我在控制台上看到它们,但我想陷入并处理它们。当我将我的方法传递给PQ函数时,我只是不知道自己做错了什么。 – ruipacheco 2010-01-04 19:27:23
请原谅我对C的无知,但是您的声明和文档中的声明与我看起来不太相似。 – 2010-01-04 19:38:22