从服务器上的转储文件恢复数据库时出现以下错误:
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;
CREATE SEQUENCE table_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。