LISTEN

Nom

LISTEN -- écoute une notification

Synopsis

LISTEN nom

Description

LISTEN enregistre la session courante comme en attente d'une condition de notification nom. Si la session courante est déjà enregistrée comme en écoute de cette condition de notification condition, rien n'est fait.

Quand la commande NOTIFY nom est appelée, soit par cette session soit par une autre connectée à la même base de données, toutes les sessions en cours d'écoute de cette condition de notification sont notifiées et chacune pourra notifier en retour son application cliente connectée. Voir la discussion de NOTIFY pour plus d'informations.

Une session peut être effacée pour une condition de notification donnée avec la commande UNLISTEN. Les enregistrements d'écoute d'une session sont automatiquement effacés lorsque la session se termine.

La méthode qu'une application client doit utiliser pour détecter des événements de notification dépend de l'interface de programmation PostgreSQL qu'elle utilise. Avec la bibliothèque libpq, l'application exécute LISTEN comme une commande SQL ordinaire, puis doit appeler périodiquement la fonction PQnotifies pour savoir quels événements de notification ont été reçus. Les autres interfaces, comme libpgtcl, fournissent des méthodes de plus haut niveau pour gérer les événements de notification ; en fait, avec libpgtcl, le développeur de l'application ne devrait même pas lancer LISTEN ou UNLISTEN directement. Voir la documentation de l'interface que vous utilisez pour plus de détails.

NOTIFY contient une discussion plus détaillée sur l'utilisation de LISTEN et NOTIFY.

Paramètres

nom

Nom d'une condition de notification (tout identifiant).

Exemples

Configure et exécute une séquence listen/notify à partir de psql :

LISTEN virtual;
NOTIFY virtual;
Asynchronous notification "virtual" received from server process with PID 8448.

Compatibilité

Il n'existe pas d'instruction LISTEN dans le standard SQL.

Voir aussi

NOTIFY, UNLISTEN