Nie sprawdzałeś błędów podczas przywracania bazy danych; powinno być ich kilka.
Zrzut tabeli takiej jak twoja będzie wyglądał tak w PostgreSQL v10 (to jest 10.3 i wygląda nieco inaczej w 10.1, ale nie ma to znaczenia w tym przypadku):
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);
Problem polega na tym, że AS integer
został wprowadzony do CREATE SEQUENCE
w PostgreSQL v10, więc instrukcja zakończy się niepowodzeniem z błędem składni w wersji 9.6.
Jakie są konsekwencje?
-
Tabela jest tworzona jak w pierwszej instrukcji.
-
Trzecia instrukcja tworząca sekwencję kończy się niepowodzeniem.
-
Wszystkie poniższe instrukcje, które wymagają sekwencji, również zakończą się niepowodzeniem.
Uwaga: Nie jest obsługiwane obniżenie wersji PostgeSQL za pomocą zrzutu i przywrócenia.
Rozwiązaniem jest ręczna edycja zrzutu, dopóki nie zadziała, w szczególności będziesz musiał usunąć AS integer
lub AS bigint
klauzula w CREATE SEQUENCE
.