By default, libpq prints
notice messages from the backend on stderr, as well as a few error messages that it
generates by itself. This behavior can be overridden by supplying
a callback function that does something else with the messages.
The callback function is passed the text of the error message
(which includes a trailing newline), plus a void pointer that is
the same one passed to PQsetNoticeProcessor. (This pointer can be used
to access application-specific state if needed.) The default
notice processor is simply

To use a special notice processor, call PQsetNoticeProcessor just after creation of a
new PGconn object.

The return value is the pointer to the previous notice
processor. If you supply a callback function pointer of NULL, no
action is taken, but the current pointer is returned.

Once you have set a notice processor, you should expect that
that function could be called as long as either the PGconn object or PGresult objects made from it exist. At
creation of a PGresult, the
PGconn's current notice processor
pointer is copied into the PGresult
for possible use by routines like PQgetvalue.

Submit correction

If you see anything in the documentation that is not correct, does not match
your experience with the particular feature or requires further clarification,
please use
this form
to report a documentation issue.