加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:06:31 所属栏目:百科 来源:网络整理
导读:从服务器上的转储文件恢复数据库时出现以下错误: 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
从服务器上的转储文件恢复数据库时出现以下错误:

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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读