LISTEN

Name

LISTEN -- hört auf eine Benachrichtigung

Synopsis

LISTEN name

Beschreibung

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.

Parameter

name

Der Name einer Benachrichtigungsmitteilung (ein beliebiger SQL-Bezeichner).

Meldungen

LISTEN

Meldung, wenn die Registrierung erfolgreich abgeschlossen wurde.

WARNING: Async_Listen: We are already listening on name

Meldung, wenn diese Sitzung bereits auf diese Benachrichtigungsmitteilung hört.

Beispiele

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.

Kompatibilität

Der Befehl LISTEN ist eine PostgreSQL-Erweiterung.