जब मैं एक और पोस्टग्रेज परत में नए तत्वों (सुविधाओं) को दर्ज करता हूं, तो मैं इसे दो तरीकों से कर सकता हूं:
- नया तत्व (एस) जोड़ें ('सुविधा जोड़ें') जो मैं शायद ही कभी करता हूं या
- किसी अन्य पोस्टग्रे लेयर (स्रोत परत) से कुछ तत्वों की प्रतिलिपि बनाना (या काटना), और इसे लक्ष्य परत में पेस्ट करें जो मैं अक्सर करता हूं
पहले उदाहरण में, संपादन के बचत सामान्य काम करता है क्योंकि इस परत हो जाता है gid postgre डेटाबेस अनुक्रम से * nextval ( 'layer_name_gid_seq' :: regclass) *
दूसरे उदाहरण में, मुझे संपादन सहेजने के दौरान एक त्रुटि मिली, क्योंकि स्रोत परत से तत्व को कॉपी करते समय लक्ष्य परत के लिए qgis ने स्रोत परत से तत्व के gid की प्रतिलिपि बनाई । संपादन को सहेजने का प्रयास करते समय यह त्रुटि वापस आ जाती है:
परत में परिवर्तन नहीं कर सका ev Cjevovodi "
त्रुटियां: त्रुटि: 1 सुविधा (एस) को नहीं जोड़ा गया।
प्रदाता की त्रुटियां:
सुविधाएँ जोड़ते समय PostGIS त्रुटि: ERROR: डुप्लिकेट कुंजी मान अद्वितीय बाधा का उल्लंघन करता है "cjevovodi_okill_pkey"
विवरण: कुंजी (gid) = (5) पहले से मौजूद है।
मैंने फ़ील्ड gid में * nextval ('layer_name_gid_seq' :: regclass) * को कॉपी करने की कोशिश की, लेकिन इस क्रम को फ़ील्ड gid में चिपकाया नहीं जा सकता क्योंकि फ़ील्ड को संख्यात्मक के रूप में परिभाषित किया गया है।
क्या किसी को स्रोत परत से तत्वों को कॉपी करने का सरल तरीका पता है (मौजूदा gid के साथ) नया gid असाइन करें?
धन्यवाद!