Description
UNLISTEN is used to remove an existing NOTIFY registration. UNLISTEN cancels any existing registration of the current PostgreSQL session as a listener on the notify condition notifyname. The special condition wildcard * cancels all listener registrations for the current session.
NOTIFY contains a more extensive discussion of the use of LISTEN and NOTIFY.
Notes
notifyname need not be a valid class name but can be any string valid as a name up to 64 characters long.
The backend does not complain if you unlisten something you were not listening for. Each backend will automatically execute UNLISTEN * when exiting.
Usage
To subscribe to an existing registration:
LISTEN virtual;
LISTEN
NOTIFY virtual;
NOTIFY
Asynchronous NOTIFY 'virtual' from backend with pid '8448' received
Once UNLISTEN has been executed, further NOTIFY commands will be ignored:
UNLISTEN virtual;
UNLISTEN
NOTIFY virtual;
NOTIFY
-- notice no NOTIFY event is received