将postgreSQL 9.1备份恢复到8.1

时间:2013-12-09 21:58:17

标签: postgresql

我想将版本9.1(本地使用)的postgreSQL备份恢复到早期版本:8.1(在服务器上)

我可以在不升级服务器的情况下执行此操作吗?

我尝试使用pg_dump创建SQL转储。

当我尝试恢复它时,收到一条错误消息: 错误:参数“standard_conforming_strings”无法更改

和 错误:语法错误位于或附近“(”处于字符365处 第17行:geom900913几何(MultiPolygon,900913),

我已经尝试在9.1 postgres.conf中将standard_conforming_strings设置为off,但我仍然收到此消息。

postgres 9是否更改了几何列的配置?

1 个答案:

答案 0 :(得分:1)

降级通常具有挑战性。

特别是,如果您的新服务器运行PostGIS 2,并且您的旧服务器运行1.x,则您将没有太多机会将备份还原到旧服务器。 PostGIS具有新的数据类型,新的数据表示,不同的功能和目录表等。我强烈怀疑你必须将你的数据导出到shapefile,然后在旧版本上使用shp2pg重新加载它们。

如果它们都在同一个PostGIS(两者都是1.x或2.x)上,您可以使用pg_dump -Fc从9.1恢复到8.1以进行备份,然后{{1}恢复它。这将检测目标服务器的版本并处理不兼容的参数等问题。您可能需要使用8.1的pg_restorepg_dump,但请先尝试使用9.1。

8.1已过时,不受支持,并且未收到错误或安全修复程序。请考虑使用文档中描述的升级过程将8.1服务器升级到9.1或更高版本,而不是降级。降级将是一个很大的痛苦,没有真正的好处,然后你只需要很快再次升级。