pg_listen dbHandle notifyName callbackCommand
pg_listen
creates, changes, or
cancels a request to listen for asynchronous NOTIFY messages from
the PostgreSQL backend. With a
callbackCommand
parameter, the
request is established, or the command string of an already
existing request is replaced. With no callbackCommand
parameter, a prior request is
canceled.
After a pg_listen
request is
established, the specified command string is executed whenever a
NOTIFY message bearing the given name arrives from the backend.
This occurs when any PostgreSQL
client application issues a NOTIFY command referencing that name.
(Note that the name can be, but does not have to be, that of an
existing relation in the database.) The command string is
executed from the Tcl idle loop. That is the normal idle state of
an application written with Tk. In non-Tk Tcl shells, you can
execute update
or vwait
to cause the idle loop to be entered.
You should not invoke the SQL statements LISTEN or UNLISTEN
directly when using pg_listen
.
Pgtcl takes care of issuing
those statements for you. But if you want to send a NOTIFY
message yourself, invoke the SQL NOTIFY statement using
pg_exec
.