PostgreSQLLa base de données la plus sophistiquée au monde.

LISTEN

LISTEN — Attendre une notification

Synopsis

LISTEN nom

Description

LISTEN enregistre la session courante comme listener de la condition de notification nom. Si la session courante est déjà enregistrée comme listener de cette condition de notification, il ne se passe rien de plus.

À chaque appel de la commande NOTIFY nom, que ce soit par cette session ou par une autre connectée à la même base de données, toutes les sessions attendant cette condition en sont avisées et chacune en avise en retour son client. Voir NOTIFY pour plus d'informations.

La commande UNLISTEN permet d'annuler l'enregistrement d'une session comme listener d'une condition de notification. Les enregistrements d'écoute d'une session sont automatiquement effacés lorsque la session se termine.

La méthode utilisé par un client pour détecter les événements de notification dépend de l'interface de programmation PostgreSQL™ qu'il utilise. Avec la bibliothèque libpq, l'application exécute LISTEN comme une commande SQL ordinaire, puis appelle périodiquement la fonction PQnotifies pour savoir si un événement de notification est reçu. Les autres interfaces, telle 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 n'a même pas à lancer LISTEN ou UNLISTEN directement. Tous les détails se trouvent dans la documentation de l'interface utilisée.

NOTIFY décrit plus en détails l'utilisation de LISTEN et NOTIFY.

Paramètres

nom

Le nom d'une condition de notification (tout identifiant).

Exemples

Configurer et exécuter une séquence listen/notify à partir de psql :

LISTEN virtual;
NOTIFY virtual;
Notification asynchrone "virtual" reçue en provenance du processus serveur de PID 8448.

Compatibilité

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

Voir aussi

NOTIFY, UNLISTEN