PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

जावा एप्लिकेशन में पोस्टग्रेज परिवर्तन को सूचित करना

<ब्लॉकक्वॉट>

इस समस्या का मेरे पास और कौन सा समाधान है?

LISTEN का प्रयोग करें और NOTIFY अपने ऐप को यह बताने के लिए कि चीजें बदल गई हैं।

आप NOTIFY भेज सकते हैं एक ट्रिगर से जो कतार तालिका में परिवर्तनों को भी रिकॉर्ड करता है।

आपको एक PgJDBC कनेक्शन की आवश्यकता होगी जिसने एक LISTEN . भेजा हो आप जिस ईवेंट का उपयोग कर रहे हैं उसके लिए। इसे समय-समय पर खाली प्रश्न भेजकर डेटाबेस को मतदान करना चाहिए ("" ) यदि आप एसएसएल का उपयोग कर रहे हैं; यदि आप एसएसएल का उपयोग नहीं कर रहे हैं तो एसिंक अधिसूचना जांच के उपयोग से इसे टाला जा सकता है। आपको Connection को खोलना होगा अंतर्निहित कनेक्शन को PgConnection . में डालने में सक्षम होने के लिए अपने कनेक्शन पूल से ऑब्जेक्ट करें सुनने/सूचित करने का उपयोग करने के लिए। संबंधित उत्तर देखें

निर्माता/उपभोक्ता बिट कठिन होगा। PostgreSQL में कई क्रैश-सुरक्षित समवर्ती उपभोक्ताओं के लिए आपको pg_try_advisory_lock(...) के साथ एडवाइजरी लॉकिंग का उपयोग करने की आवश्यकता है . यदि आपको समवर्ती उपभोक्ताओं की आवश्यकता नहीं है तो यह आसान है, आप बस SELECT ... LIMIT 1 FOR UPDATE एक बार में एक पंक्ति।

उम्मीद है कि 9.4 में लॉक पंक्तियों को छोड़ने का एक आसान तरीका शामिल होगा FOR UPDATE , क्योंकि इसके लिए विकास कार्य चल रहा है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रति पंक्ति अंतिम एन संबंधित पंक्तियों को क्वेरी करें

  2. फिक्स:"ऑपरेटर मौजूद नहीं है:पूर्णांक || पूर्णांक" PostgreSQL में

  3. JDBC का उपयोग करके फ़ाइल से PostgreSQL में डेटा कैसे कॉपी करें?

  4. LOWER () - PostgreSQL में लोअरकेस में कनवर्ट करें

  5. MYSQL में शर्तों के साथ अद्वितीय बाधा