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

डेटा लाने के लिए अधिसूचना के बजाय `libpq` मतदान का उपयोग क्यों करता है?

एक मोनो-थ्रेडेड प्रोग्राम के निष्पादन मॉडल में, एसिंक्रोनस क्वेरी से वापस आने वाले डेटा, या आमतौर पर नेटवर्क सॉकेट से निष्पादन प्रवाह बाधित नहीं हो सकता है। केवल सिग्नल (SIGTERM और दोस्त) प्रवाह को बाधित कर सकते हैं, लेकिन आने वाले डेटा से संकेतों को नहीं जोड़ा जा सकता है।

इसलिए आने वाले डेटा की सूचना पाने के लिए कॉलबैक करना संभव नहीं है। libpq में कोड का टुकड़ा जो कॉलबैक को उत्सर्जित करने के लिए आवश्यक होगा यदि आपका कोड इसे कॉल नहीं करता है तो वह कभी नहीं चलेगा। और अगर आपको इसे कॉल करना है, तो यह कॉलबैक के पूरे बिंदु को हरा देता है।

Qt . जैसी लाइब्रेरी हैं जो कॉलबैक प्रदान करते हैं, लेकिन वे एक मुख्य लूप के साथ ग्राउंड अप से आर्किटेक्चर किए जाते हैं जो एक इवेंट प्रोसेसर के रूप में कार्य करता है। उपयोगकर्ता कोड को कॉलबैक में व्यवस्थित किया जाता है और आने वाले डेटा की घटना-आधारित प्रसंस्करण संभव है। लेकिन इस मामले में पुस्तकालय निष्पादन प्रवाह का स्वामित्व लेता है, जिसका अर्थ है कि इसका मेनलूप डेटा स्रोतों का चुनाव करता है। यह जिम्मेदारी को libpq के बाहर कोड के किसी अन्य भाग में स्थानांतरित कर देता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडोज़ पर PHP और PostgreSQL कॉन्फ़िगर करें

  2. s3 से postgresql rds में डेटा फ़ाइलों को कैसे आयात करें

  3. SQL इन-डीबी संचालन के लिए dplyr का उपयोग करते समय ifelse और grep कमांड

  4. गतिशील रूप से psycopg2 का उपयोग करके अजगर में डेटाबेस (postgresql) बदलें

  5. खंडित अनुक्रमणिका का पता कैसे लगाएं और उन्हें PostgreSQL में डीफ़्रैग्मेन्ट करें?