PostgreSQL प्रलेखन केNOTIFY
अनुसार :
NOTIFY कमांड प्रत्येक क्लाइंट अनुप्रयोग के लिए वैकल्पिक "पेलोड" स्ट्रिंग के साथ एक अधिसूचना घटना भेजता है जो पहले मौजूदा डेटाबेस में निर्दिष्ट चैनल नाम के लिए LISTEN चैनल निष्पादित करता है। सभी उपयोगकर्ताओं को सूचनाएं दिखाई देती हैं ।
(जोर मेरा)
इसका मतलब यह है कि तुम क्या आप चाहते हैं नहीं कर सकते बस के साथ LISTEN/NOTIFY
। हालाँकि, आपके पास पंक्तिबद्ध संदेशों को संग्रहीत करने के लिए दोनों टेबल हो सकते हैं, LISTEN/NOTIFY
बाहरी अनुप्रयोगों को सूचित करने के लिए कि "संदेश कतार में नई चीजें हैं", और इन बाहरी अनुप्रयोगों से कुछ अतिरिक्त तर्क का उपयोग करें ताकि केवल संदेश का उपभोग हो।
आलेख में दर्शाया गया रणनीति पोस्टग्रेएसक्यूएल 9.5 में एसकेआईपी लॉकड के लिए क्या है? शायद PostgreSQL के भीतर एक संदेश कतार को लागू करने का सबसे सुरक्षित / आसान तरीका है । "कैसे SKIP लॉक्ड मदद करता है" भाग पर विशेष ध्यान दें। ध्यान से पढ़ें उनके एक करैत:
RDBMS में कार्यान्वित एक कतार कभी भी तेजी से समर्पित कतारबद्ध प्रणाली के प्रदर्शन से मेल नहीं खाएगी, यहां तक कि एक ही जो परमाणुता और स्थायित्व की गारंटी PostgreSQL के रूप में देता है। SKIP लॉक्ड का उपयोग करना मौजूदा इन-डेटाबेस दृष्टिकोणों से बेहतर है, लेकिन आप अभी भी एक समर्पित और अत्यधिक अनुकूलित बाहरी कतार इंजन का उपयोग करके तेजी से आगे बढ़ेंगे।
यह विशेष रूप से महत्वपूर्ण है यदि कतार की मात्रा अधिक है।