След продължително търсене ето какво намерих:
Наистина има само една колона, която може да бъде потвърдена с помощта на psql. Въпреки това с помощта на командата pg_dump -st names <databasename>
от bash забелязах, че има 2 дефинирани последователности, свързани с колоната с id: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';
и идентифицирайте дублиращи се последователности (т.е. тези, където има версия с и една без 1 в края) -
Изтрийте излишната последователност с
DROP SEQUENCE <sequenceName_seq>;
(само този без 1 в края може да бъде изтрит) -
Опреснете pgAdmin4