如何解决转储损坏的 Postgres 数据库
我有数据库,它可以工作,但有一些问题。我需要将数据库迁移到新版本的 Postgres,所以当我尝试使用 pg_dump 或 pg_dumpall 进行转储时,我得到了这样的想法:
pg_dump: [archiver (db)] query Failed: ERROR: unexpected chunk number 2 (expected 0) for toast value 78482 in pg_toast_2618
pg_dump: [archiver (db)] query was: SELECT pg_catalog.pg_get_viewdef('78478'::pg_catalog.oid) AS viewdef
但是,如果我只转储一张单独的表,它就可以工作。 我想一点一点地倾倒。我已经得到了所有表的结构,用于创建实际索引的脚本。当我制作其他普通数据库的 pg_dumpall 时,我在转储文件中看到类似:
ALTER TABLE ONLY schema_name.table_name ALTER COLUMN id_column SET DEFAULT nextval('sequence_name'::regclass);
我需要编写脚本来为每个表设置序列,在哪里可以看到序列和表之间的匹配? 有人在这种迁移中有经验吗?哪些问题等着我呢? postgres 有专门迁移数据库的工具吗?有什么不同的解决方案吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。