| PostgreSQL: Das Offizielle Handbuch | ||||
|---|---|---|---|---|
| Zurück | Schnell zurück | Schnell nach vorne | Nach vorne | |
LISTEN registriert die aktuelle Sitzung für die Benachrichtigungsmitteilung name.
Immer wenn der Befehl NOTIFY name in dieser Sitzung oder einer anderen in der selben Datenbank ausgeführt wird, dann werden alle Sitzungen, die auf diese Benachrichtigung hören, informiert, und informieren wiederum ihre Clientanwendungen. Weitere Informationen dazu erhalten Sie unter NOTIFY.
Eine Sitzung kann die Registrierung für eine Benachrichtigung mit dem Befehl UNLISTEN löschen. Die Registrierungen einer Sitzung werden auch automatisch gelöscht, wenn die Sitzung endet.
Wie eine Clientanwendung Benachrichtigungsmitteilung entdecken kann, hängt von der Programmierschnittstelle ab. Mit der Bibliothek libpq führt die Anwendung LISTEN als normalen SQL-Befehl aus und muss dann regelmäßig die Funktion PQnotifies aufrufen um herauszufinden, ob Benachrichtigungsmitteilungen empfangen wurden. Andere Schnittstellen wie libpgtcl bieten abstraktere Methoden um mit Benachrichtigungen umzugehen; in libpgtcl sollte der Anwendungsprogrammierer LISTEN und UNLISTEN gar nicht direkt aufrufen. Einzelheiten finden Sie in der Beschreibung der Schnittstelle, die Sie verwenden.
NOTIFY enthält einer ausführlichere Beschreibung der Verwendung der Befehle LISTEN und NOTIFY.
Meldung, wenn die Registrierung erfolgreich abgeschlossen wurde.
Meldung, wenn diese Sitzung bereits auf diese Benachrichtigungsmitteilung hört.
So sieht es in psql aus, wenn man sich für eine Benachrichtigung registriert und sie dann selbst auslöst:
LISTEN virtual; NOTIFY virtual; Asynchronous NOTIFY 'virtual' from backend with pid '8448' received.
| Zurück | Zum Anfang | Nach vorne |
| INSERT | Nach oben | LOAD |