我们可以将PostgSQL 9.5中的pg_dump导入9.4.5

时间:2018-02-19 08:37:20

标签: postgresql postgresql-9.4 postgresql-9.5 downgrade

我是PostgreSQL的新手。

我在我的机器上设置了PostgreSQL 9.4.5数据库,并且我已经导入了很多表。

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

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

我有一个个人虚拟机,我也有PostgreSQL 9.4.5,在那里进行测试我尝试导入PostgreSQL 9.5转储。

我收到了错误

ERROR:  unrecognized configuration parameter "row_security"

现在我认为这是因为声明

SET row_security = off;

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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