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

pgbouncer - बंद हो रहा है क्योंकि:हर कनेक्शन पर अशुद्ध सर्वर

ठीक है, मुझे लगता है कि मैंने इसे समझ लिया है। समस्या Django और Psycopg2 के साथ लंबे समय से चली आ रही समस्या के साथ है। मूल रूप से, Psycopg2 स्वचालित रूप से DB को एक BEGIN स्टेटमेंट जारी करेगा। हालांकि, अगर Django को लगता है कि कोई डेटा-संशोधन नहीं हुआ है, तो वह लेनदेन के अंत में COMMIT जारी नहीं करेगा।

इस समस्या के कुछ समाधान हैं, http://www देखें। स्लाइडशेयर.नेट/OReillyOSCON/unbreaking-your-django-application अधिक जानकारी के लिए। आदर्श रूप से आप स्वचालित कमिट्स को बंद कर देते हैं (ऑटोकॉमिट =ट्रू को अपनी डीबी सेटिंग्स में सेट करके, अजीब नामकरण सम्मेलन)। यह केवल-पढ़ने के कार्यों पर लेनदेन को रोकता है, लेकिन लिखने के कार्यों पर भी आपको उन कार्यों को @commit_on_success डेकोरेटर में मैन्युअल रूप से लपेटने की आवश्यकता होती है।

वैकल्पिक रूप से, अपनी मिडलवेयर कक्षाओं में बस django.middleware.transaction.TransactionMiddleware जोड़ें। यह प्रत्येक अनुरोध को लेनदेन में लपेट देगा। इसका मतलब यह है कि लेन-देन में अनावश्यक रूप से केवल-पढ़ने के अनुरोधों को लपेटना, लेकिन यह एक त्वरित और गंदा समाधान है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि कथन postgresql . का सही ढंग से उपयोग कैसे करें

  2. लेटरल जॉइन में धीमे एग्रीगेट को ऑप्टिमाइज़ करें

  3. रिकॉर्ड के कॉलम के माध्यम से लूप

  4. अनुक्रमणिका में स्तंभ की स्थिति

  5. त्रुटि:FROM में सबक्वेरी समान क्वेरी स्तर के अन्य संबंधों को संदर्भित नहीं कर सकती है