जैसा कि @hanmari ने अपनी टिप्पणी में उल्लेख किया है। जब पोस्टग्रेज टेबल में सम्मिलित किया जाता है, तो संघर्ष पर (..) कुछ भी नहीं करते हैं डुप्लिकेट डेटा सम्मिलित नहीं करने के लिए उपयोग करने के लिए सबसे अच्छा कोड है:
query = "INSERT INTO db_table_name(column_name)
VALUES(%s) ON CONFLICT (column_name) DO NOTHING;"
कोड के ONFLICT लाइन सम्मिलित विवरण को अभी भी डेटा की पंक्तियों को सम्मिलित करने की अनुमति देगा। क्वेरी और मान कोड एक्सेल से एक पोस्टग्रेज डीबी टेबल में सम्मिलित तिथि का एक उदाहरण है। मेरे पास यह सुनिश्चित करने के लिए कि पोस्ट आईडी का उपयोग अद्वितीय है, मैं एक पोस्टग्रेज टेबल में बाधाएं डाल रहा हूं। डेटा की पंक्तियों पर एक डिलीट को चलाने के बजाय, मैं एक sql कोड जोड़ता हूं, जो 1. पर शुरू होने वाले ID कॉलम को फिर से जोड़ता है:
q = 'ALTER id_column serial RESTART WITH 1'
यदि मेरे डेटा में एक आईडी फ़ील्ड है, तो मैं इसका उपयोग प्राथमिक आईडी / सीरियल आईडी के रूप में नहीं करता हूं, मैं एक आईडी कॉलम बनाता हूं और मैं इसे सीरियल में सेट करता हूं। मुझे उम्मीद है कि यह जानकारी सभी के लिए उपयोगी है। * मेरे पास सॉफ्टवेयर डेवलपमेंट / कोडिंग में कोई कॉलेज डिग्री नहीं है। कोडिंग में जो कुछ भी मुझे पता है, मैं अपने दम पर अध्ययन करता हूं।