UNLISTEN { notifyname | * }
Name of previously registered notify condition.
All current listen registrations for this backend are cleared.
Acknowledgement that statement has executed.
UNLISTEN is used to remove an existing NOTIFY registration. UNLISTEN cancels any existing registration of the current Postgres 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.
classname needs not to be a valid class name but can be any string valid as a name up to 32 characters long.
The backend does not complain if you UNLISTEN something you were not listening for. Each backend will automatically execute UNLISTEN * when exiting.
A restriction in some previous releases of Postgres that a classname which does not correspond to an actual table must be enclosed in double-quotes is no longer present.
To subscribe to an existing registration:
postgres=> LISTEN virtual; LISTEN postgres=> NOTIFY virtual; NOTIFY Asynchronous NOTIFY 'virtual' from backend with pid '8448' received
Once UNLISTEN has been executed, further NOTIFY commands will be ignored:
postgres=> UNLISTEN virtual; UNLISTEN postgres=> NOTIFY virtual; NOTIFY -- notice no NOTIFY event is received
There is no UNLISTEN in SQL92.