Po dlouhém hledání jsem našel zde:
Ve skutečnosti existuje pouze jeden sloupec, který lze potvrdit pomocí psql. Nicméně pomocí příkazu pg_dump -st names <databasename> z bash jsem si všiml, že byly definovány 2 sekvence spojené se sloupcem id:public.names_id_seq a public.names_id_seq1 .
To lze také potvrdit spuštěním SELECT c.relname FROM pg_class c WHERE c.relkind = 'S'; z psql, kde se zobrazují obě sekvence.
Pokud se někdo pokusí odstranit public.names_id_seq1 jeden dostane chybu ERROR: cannot drop sequence apis_id_seq1 because column id of table apis requires it .
řešení je odstranit první sekvenci pomocí DROP SEQUENCE names_id_seq; Po obnovení pgAdmin4 byl druhý sloupec pryč.
TL;DR
-
Spusťte
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';a identifikovat duplicitní sekvence (tj. ty, kde je verze s a jedna bez 1 na konci) -
Odstraňte nadbytečnou sekvenci pomocí
DROP SEQUENCE <sequenceName_seq>;(smazat lze pouze ten, který nemá na konci 1) -
Obnovte pgAdmin4