No buscó errores durante la restauración de la base de datos; debería haber algunos.
Un volcado de una tabla como la suya se verá así en PostgreSQL v10 (esto es 10.3 y se ve un poco diferente en 10.1, pero eso es irrelevante en este caso):
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);
Ahora el problema es que AS integer
se presentó a CREATE SEQUENCE
en PostgreSQL v10, por lo que esa declaración fallará con un error de sintaxis en 9.6.
¿Cuál es la consecuencia?
-
La tabla se crea como en la primera sentencia.
-
La tercera instrucción que crea la secuencia falla.
-
Todas las siguientes declaraciones que requieren la secuencia también fallarán.
La solución es editar manualmente el volcado hasta que funcione, en particular, deberá eliminar el AS integer
o AS bigint
cláusula en CREATE SEQUENCE
.