我在我的Linux机器(RHEL7.4)上使用PostgreSQL9.4(端口5432)和PostgreSQL10.0(端口5433)。PostgreSQL9.4使用yum存储库安装,PostgreSQL10.0使用源安装在不同的分区中。
我在PostgreSQL9.4上备份了db (dtbase.backup),使用它的pg_dump,并尝试使用它的pg_restore在PostgreSQL10.0上恢复这个备份。
在执行此操作时,我会遇到以下错误:
pg_restore: [archiver] unsupported version (1.13) in file header
我已经检查了不同的论坛,但无法找到解决办法。任何帮助都将不胜感激。
发布于 2018-06-07 04:39:25
我没有升级就解决了。我再次使用10.0的pg_dump (而不是9.4 )进行备份,这次pg_restore成功了。
发布于 2018-05-03 12:11:42
您的9.4安装可能更新为9.4.17
或更高版本,引入了一个补丁,使您在10.3
per 此堆栈溢出响应之前设置的转储与postgresql 10不兼容,并使其链接到的邮政公告不兼容。
在公告中:
本版本中解决了一个安全漏洞: * CVE-2018-1058: pg_dump和其他客户端应用程序中不受控制的搜索路径元素。
此更改破坏了以前兼容pg_dump/pg_restore工作流的版本之间的兼容性,除非这两个版本都已更新为包含CVE修补程序。
您可能需要考虑升级您的版本10安装,以安装从yum以及。我还没有使用版本10的经验,但很可能postgres继续对安装进入的目录进行版本化,因此您应该能够从yum安装9.4和10.3 (并且获得安全补丁比从源代码重建更容易!)。
https://unix.stackexchange.com/questions/441527
复制相似问题