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

PostgreSQL - लेनदेन ब्लॉक के बाहर कोड से VACUUM कैसे चलाएं?

अधिक खोज के बाद मैंने psycopg2 कनेक्शन ऑब्जेक्ट की आइसोलेशन_लेवल प्रॉपर्टी की खोज की है। यह पता चला है कि इसे 0 . में बदलना आपको लेन-देन ब्लॉक से बाहर ले जाएगा। उपरोक्त वर्ग की निर्वात विधि को निम्नलिखित में बदलने से इसका समाधान होता है। ध्यान दें कि मैंने आइसोलेशन स्तर को वापस उसी स्थिति में सेट कर दिया है जो पहले था (ऐसा लगता है कि 1 है) डिफ़ॉल्ट रूप से)।

def vacuum(self):
    old_isolation_level = self.conn.isolation_level
    self.conn.set_isolation_level(0)
    query = "VACUUM FULL"
    self._doQuery(query)
    self.conn.set_isolation_level(old_isolation_level)

यह लेख (उस पृष्ठ के अंत के पास) इस संदर्भ में अलगाव स्तरों का एक संक्षिप्त विवरण प्रदान करता है।



  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 डेटाबेस में MySQL डंप आयात करें

  2. मैं जंग में PostgreSQL से टाइमज़ोन (टाइमस्टैम्प्टज़) मान के साथ टाइमस्टैम्प कैसे पढ़ सकता हूं?

  3. क्या एक पोस्टग्रेज विदेशी कुंजी एक सूचकांक दर्शाता है?

  4. एसक्यूएल तालिका में जेसन से सभी मान निकालें

  5. कॉपी कैसे काम करती है और यह INSERT से इतनी तेज क्यों है?