Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Avance rapide | Suivant |
LISTEN enregistre la session courante comme étant en attente d'une condition de notification nom. Si la session courante est déjà enregistrée comme étant en écoute de cette condition de notification, 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 condition de notification donnée peut être effacée pour une session 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.
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.
Précédent | Sommaire | Suivant |
INSERT | Niveau supérieur | LOAD |