我们可以将 pg_dump 从 PostgreSQL 9.5 导入到 9.4.5 吗?

Can we import pg_dump from PostgreSQL 9.5 into 9.4.5

我是 PostgreSQL 新手。

我在我的机器上设置了一个 PostgreSQL 9.4.5 数据库,我在那里导入了很多表。

我想再添加一个数据库。所以我从 VM 上现有的 PostgreSQL 之一获取了该数据库的转储。

我怀疑从中获取转储的 VM 的 PostgreSQL 版本为 9.5,而我要导入的 VM 的版本为 9.4.5。

我有一个个人 VM,其中也有 PostgreSQL 9.4.5,为了测试,我尝试导入 PostgreSQL 9.5 转储。

我遇到了一个错误

ERROR:  unrecognized configuration parameter "row_security"

现在我认为是因为语句

SET row_security = off;

在我的备份文件中。我再次尝试从备份文件中删除这一行,并在我的测试虚拟机上再创建一个测试数据库。然后我没有得到上面的错误。

所以我怀疑我是否应该删除这些行并使用备份,否则它也会产生一些不良影响,所以我不应该这样做。

不支持“降级”PostgreSQL 数据库的方法。

您必须使用文本编辑器编辑转储并调整 9.5 支持但 9.4 不支持的所有内容,就像您所做的那样。没有更好的方法了。

例如,row_security 参数是在 9.5 中引入的,因此您必须将其删除。

如果您的 9.5 数据库使用了 9.4 中不可用的某些功能,那您就有麻烦了。