Du kollade inte efter fel under återställningen av databasen; det borde ha varit några.
En dumpning av en tabell som din kommer att se ut så här i PostgreSQL v10 (detta är 10.3 och det ser något annorlunda ut i 10.1, men det är irrelevant i det här fallet):
CREATE TABLE public.produto (
produto_id integer NOT NULL
);
ALTER TABLE public.produto OWNER TO laurenz;
CREATE SEQUENCE public.produto_produto_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE public.produto_produto_id_seq OWNER TO laurenz;
ALTER SEQUENCE public.produto_produto_id_seq
OWNED BY public.produto.produto_id;
ALTER TABLE ONLY public.produto
ALTER COLUMN produto_id
SET DEFAULT nextval('public.produto_produto_id_seq'::regclass);
Nu är problemet att AS integer
introducerades till CREATE SEQUENCE
i PostgreSQL v10, så att satsen misslyckas med ett syntaxfel i 9.6.
Vad är konsekvensen?
-
Tabellen skapas som i den första satsen.
-
Den tredje satsen som skapar sekvensen misslyckas.
-
Alla följande satser som kräver sekvensen kommer också att misslyckas.
Obs! Det stöds inte att nedgradera PostgeSQL med dump och återställning.
Lösningen är att manuellt redigera dumpen tills den fungerar, i synnerhet måste du ta bort AS integer
eller AS bigint
sats i CREATE SEQUENCE
.