微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSql:错误:从转储文件恢复时不存在关系“序列”

从服务器上的转储文件恢复数据库时出现以下错误

ERROR: relation “table_id_seq” does not exist
LINE 1: SELECT pg_catalog.setval(‘table_id_seq’,362,true);

>我的本地psql版本是10.2
>服务器psql版本是9.6.8

这是我的dump命令:

pg_dump -U username -h localhost db_name > filename.sql

这是我在服务器上的恢复命令:

psql -U username -h localhost db_name < filename.sql

请帮忙,谢谢.

解决方法

在我从@clemens获得信息并进行一些研究后,我发现,在我的转储文件中,CREATE SEQUENCE部分table_id_seq有一个AS整数的语句,为什么当我恢复到新数据库时它没有为序列创建nextval().如果我从CREATE SEQUENCE部分中删除语句AS integer,它可以找到.

在我的转储文件中:

CREATE SEQUENCE table_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

从转储文件删除AS整数

CREATE SEQUENCE table_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐