UNLISTEN { nombre_notif | * } |
UNLISTEN se usa para borrar un registro NOTIFY existente. UNLISTEN cancela cualquier registro existente de la sesión actual de Postgres en la condición de notificación nombre_notif. La condición asterisco "*" cancela todos los registros "listener" de la sesión actual.
NOTIFY contiene una discusión más extensa del uso de LISTEN y NOTIFY.
nombre_clase no necesariamente ha de ser un nombre de clase válido, pero puede ser cualquier cadena (string) válida de hasta 32 caracteres de largo.
El backend no muestra errores si usted hace un UNLISTEN sobre algo al que no estuviera atendiendo (escuchando). Cada backend ejecutará automáticamente UNLISTEN * cuando termine.
Una restricción que se daba en versiones anteriores de Postgres, que hacía que un nombre_clase que no se correspondiera con la tabla en curso debía ser entrecomillada, ya no se da actualmente.
Para suscribirse a un registro existente:
postgres=> LISTEN virtual; LISTEN postgres=> NOTIFY virtual; NOTIFY ASYNC NOTIFY of 'virtual' from backend pid '12317' received |
Una vez que UNLISTEN se ha ejecutado, posteriores comandos NOTIFY serán ignorados:
postgres=> UNLISTEN virtual; UNLISTEN postgres=> NOTIFY virtual; NOTIFY -- notice no NOTIFY event is received |