gpt4 book ai didi

postgresql - pg_dump 和 pg_restore 跨越不同主要版本的 PostgreSQL

转载 作者:行者123 更新时间:2023-11-29 12:59:48 35 4
gpt4 key购买 nike

我的开发机器(称之为 D)运行 PostgreSQL 9.4.5。我的生产机器(称之为 P)运行 PostgreSQL 8.4.20。

我不使用 PostgreSQL 9.x 中的任何新功能或类型。

有时我需要将 P 的状态镜像到 D 上,有时我需要做相反的事情。在这两种情况下,我都使用 pg_dump/pg_restore。

当我从 P 转储恢复到 D 时,我从未遇到过任何错误或警告。但是,当我执行相反操作时,我会收到多个无法识别的配置参数“lock_timeout” 错误。我知道这个配置参数是在 9.3 中引入的,并且由于恢复过程的其余部分工作正常,我只是忽略了错误消息。

我的问题是:跨不同主要版本使用 pg_dump/pg_restore 是个坏主意还是可以安全地忽略兼容性错误,就像我在这里所做的那样?以后我会被这个咬到吗?我无法升级 P,为了安全起见,我是否应该将 D 降级到 8.4.20?

最佳答案

is it a bad idea to use pg_dump/pg_restore across different major versions

通常建议您将 pg_dump 用于要恢复到的版本。

从旧版本到新版本时,您应该使用更新的 pg_dump。

真的有点烦人。

or can one safely just ignore the compatibility errors as I have been doing here?

这取决于它们是什么。你可以忽略那个,是的。

Am I going to get bitten by this in the future?

这取决于你做什么。显然,您不能忽略所有错误 - 例如,如果 CREATE TABLE 失败,您就有麻烦了。所以这取决于使用的功能等。

I cannot upgrade P, should I downgrade D to 8.4.20 just to be on the safe side?

是的。使用您在生产环境中运行的相同版本进行开发。

不过你迟早需要升级P。开始计划。它不受支持,不会得到进一步的错误修复,不会为新的操作系统版本打包,并且错误/问题报告将通过“升级到受支持的版本并查看它是否仍然存在”来满足。

关于postgresql - pg_dump 和 pg_restore 跨越不同主要版本的 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33594039/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com