データベースの復元中にエラーをチェックしませんでした。いくつかあったはずです。
あなたのようなテーブルのダンプは、PostgreSQL v10では次のようになります(これは10.3であり、10.1ではわずかに異なりますが、この場合は関係ありません):
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);
ここで問題となるのは、AS integer
CREATE SEQUENCE
に導入されました PostgreSQL v10では、そのステートメントは9.6の構文エラーで失敗します。
結果はどうなりますか?
-
テーブルは最初のステートメントのように作成されます。
-
シーケンスを作成する3番目のステートメントは失敗します。
-
シーケンスを必要とする以下のすべてのステートメントも失敗します。
注: ダンプと復元を使用してPostgeSQLをダウングレードすることはサポートされていません。
解決策は、ダンプが機能するまで手動で編集することです。特に、AS integer
を削除する必要があります。 またはAS bigint
CREATE SEQUENCE
の句 。