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

psycopg2 के साथ एक इंडेक्स ड्रॉप करने के लिए प्रतिबद्ध होने से पहले या बाद में प्रभावी होता है?

commit बस आपके डेटाबेस में किसी भी चल रहे लेनदेन को प्रगति पर करता है।

आप वास्तव में क्या पूछ रहे हैं कि क्या इंडेक्स को छोड़ना और फिर उसी लेनदेन के भीतर कॉपी करना एक ही लेनदेन में पहले ड्रॉपिंग इंडेक्स और फिर एक नए लेनदेन में डेटा कॉपी करने के समान गति प्रदान करेगा।

docs से सीधा उद्धरण कहते हैं कि:

बोल्ड किया गया हिस्सा अप्रत्यक्ष रूप से बताता है कि आपको इंडेक्स को छोड़ने के बाद कमिट करना चाहिए, क्योंकि बिना कमिट किए इंडेक्स को छोड़ना (लेन-देन पूरा करना) डेटाबेस के अन्य उपयोगकर्ताओं पर कोई प्रभाव नहीं होना चाहिए।

तो समाधान इन पंक्तियों के साथ कुछ होना चाहिए:

अपनी अनुक्रमणिका छोड़ें, प्रतिबद्ध करें, डेटा कॉपी करें, नई अनुक्रमणिका बनाएं और फिर से प्रतिबद्ध करें।

ध्यान दें कि जैसे ही आप अपने लेन-देन को दो लेन-देन में विभाजित करते हैं, आप परमाणुता खो देते हैं। अर्थात। यह संभव है कि आपकी अनुक्रमणिका गिरा दी गई हो, लेकिन कोई डेटा कॉपी नहीं किया गया है (यदि प्रतिलिपि लेनदेन के दौरान उदाहरण के लिए पावर या नेटवर्क खो जाता है) और अनुक्रमणिका को कभी भी फिर से नहीं बनाया जाएगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं जावा तैयार स्टेटमेंट का उपयोग करके पोस्टग्रेज में JSON ऑब्जेक्ट कैसे सम्मिलित कर सकता हूं?

  2. मैं कैसे इनायत से पुरानी सर्वर प्रक्रिया पोस्टग्रेज को मार सकता हूँ?

  3. कैसे एसक्यूएल के साथ पुनरावर्ती बयान व्याख्या की?

  4. ट्रैविस सीआई:घातक:भूमिका मौजूद नहीं है

  5. कैसे विशाल तालिका से सभी पंक्तियों को पढ़ने के लिए?