यहां लंबी खोज के बाद मुझे यही मिला:
वास्तव में केवल एक कॉलम है जिसकी पुष्टि psql का उपयोग करके की जा सकती है। हालांकि pg_dump -st names <databasename> . कमांड का इस्तेमाल करते हुए बैश से मैंने देखा कि आईडी कॉलम से जुड़े 2 अनुक्रम परिभाषित किए जा रहे थे:public.names_id_seq और public.names_id_seq1 ।
इसकी पुष्टि SELECT c.relname FROM pg_class c WHERE c.relkind = 'S'; चलाकर भी की जा सकती है। psql से जहां दोनों क्रम दिखाई देते हैं।
अगर कोई public.names_id_seq1 को मिटाने की कोशिश करता है किसी को त्रुटि मिलती है ERROR: cannot drop sequence apis_id_seq1 because column id of table apis requires it ।
समाधान DROP SEQUENCE names_id_seq; . के साथ पहला क्रम हटाना है pgAdmin4 को रीफ्रेश करने के बाद दूसरा कॉलम चला गया था।
TL;DR
-
चलाएं
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';और डुप्लिकेट अनुक्रमों की पहचान करें (अर्थात वे जहां एक संस्करण है और अंत में एक के बिना एक) -
DROP SEQUENCE <sequenceName_seq>;के साथ अनावश्यक अनुक्रम हटाएं (अंत में 1 के बिना केवल एक को हटाया जा सकता है) -
pgAdmin4 को रिफ्रेश करें