Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je developpe actuellement un client PostgreSQL sans bibliotheque, je souhaite maintenant ajouter les notifications asynchrones a mon client (LISTEN, UNLISTEN, NOTIFY).
Doit t'on definir des regles de notifications sur le serveur ? La syntaxe 'LISTEN test_sqlclient;' si ma base de donnée test_sqlclient est elle bonne ? le nom que l'on appelle apres la fonction LISTEN fais t'elle reference a une table ou a une regle de notification que l'on a defini sur le serveur ?
Merci d'avance.
Hors ligne
La chaîne n'a aucune signification pour le serveur. Elle n'a une signification qu'au niveau applicatif et c'est l'applicatif qui générera les LISTEN pour les processus en écoute et les NOTIFY pour les processus qui veulent notifier les processus en écoute.
Guillaume.
Hors ligne
Le nom ne fait référence à rien de précis. C'est juste un nom arbitraire, que vous utiliserez pour pouvoir avoir plusieurs attentes en même temps sur des événements distincts.
Donc par exemple vous allez faire :
LISTEN messagerie;
Et sur une autre session :
NOTIFY messagerie;
Rien ne vous empêche d'avoir une autre file d'attente avec d'autres processus écrivant dessus. Ou une session en LISTEN sur plusieurs noms en même temps.
Au passage, grosse nouveauté en 9.0 : on peut passer des 'payloads', c'est à dire des messages, dans les NOTIFY. Si vous êtes donc en cours de développement, et que cette fonctionnalité vous intéresse, développez en 9.0, elle devrait sortir assez prochainement (2 mois d'après les dernières discussions).
Marc.
Hors ligne
Oui je comprend mieux.
Merci !
Hors ligne
J'aurais une derniere question, comment rajouter des regles de notifications pour ma base de données ? en commande SQL ou sur PGAdmin (n'importe) car j'aimerais tester ce que j'ai codé.
Hors ligne
Je ne comprends pas ce que vous voulez dire par règle de notification.
Marc.
Hors ligne
Ce que je veux dire c'est comment activer des notifications sur le serveur ?
Hors ligne
Ah. Vous pouvez tout simplement en générer en ligne de commande (psql ou pgadmin3 par exemple) avec NOTIFY nom_notification. Il s'agit d'un ordre SQL comme un autre.
Marc.
Hors ligne
Pages : 1