PostgreSQL
Prev |  | Next

# UNLISTEN

## Name

UNLISTEN — Stop listening for notification

    UNLISTEN { notifyname | * }

### Inputs

`notifyname`

  Name of previously registered notify condition.

`*`

  All current listen registrations for this backend are cleared.

### Outputs

`UNLISTEN`

  Acknowledgement that statement has executed.

## Description

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.

### Notes

`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.

## Usage

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

## Compatibility

### SQL92

There is no UNLISTEN in SQL92.

Prev | Home | Next
TRUNCATE | Up | UPDATE