我正在研究一個與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