Po długich poszukiwaniach znalazłem:
Rzeczywiście istnieje tylko jedna kolumna, którą można potwierdzić za pomocą psql. Jednak za pomocą polecenia pg_dump -st names <databasename>
z basha zauważyłem, że zdefiniowano 2 sekwencje powiązane z kolumną id:public.names_id_seq
i public.names_id_seq1
.
Można to również potwierdzić, uruchamiając SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';
z psql, gdzie pojawiają się obie sekwencje.
Jeśli spróbujesz usunąć public.names_id_seq1
pojawia się błąd ERROR: cannot drop sequence apis_id_seq1 because column id of table apis requires it
.
Rozwiązanie jest usunięcie pierwszej sekwencji z DROP SEQUENCE names_id_seq;
Po odświeżeniu pgAdmin4 druga kolumna zniknęła.
TL;DR
-
Uruchom
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';
i zidentyfikuj zduplikowane sekwencje (tj. te, w których jest wersja z i jedna bez 1 na końcu) -
Usuń zbędną sekwencję za pomocą
DROP SEQUENCE <sequenceName_seq>;
(tylko ten bez 1 na końcu może zostać usunięty) -
Odśwież pgAdmin4