将postgis备份从1.5恢复到2.1.2

时间:2014-04-24 20:22:59

标签: postgresql postgis

我有postgres 9.1和postgis 1.5的数据库备份。许多数据库是使用启用空间的数据库构建的,使用以下命令创建:

createdb spacial psql -d spacial -f postgis.sql psql -d spacial -f spatial_ref_sys.sql psql -d spacial -f postgis_comments.sql

现在我发布了postgres 9.3和postgis 2.1。所有空间数据库都未正确恢复,因为我的空间数据库(使用此新版本创建)仅使用两个表中的一个创建(使用旧版本创建)。

有谁知道发生了什么事?感谢。

我已经完成了我需要的步骤,至少我认为我已经做到了。运行后:SELECT postgis_full_version();我得到了这样的结果:"POSTGIS="2.1.2 r12389" GEOS="3.3.3-CAPI-1.7.4" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.9.1" LIBJSON="UNKNOWN""

由于POSTGIS 2.1.2未在提供的链接中介绍,我认为我应该只运行脚本postgis_upgrade_21_minor.sql,因为我没有安装拓扑。但是几张桌子根本没有进口。在导入过程中,我收到了一些消息:“几何”类型未定义。

有任何新想法吗?

1 个答案:

答案 0 :(得分:6)

关注hard upgrade instructions in the manual。简而言之,这些步骤是:

  1. 将旧数据库转储到文件
  2. 在空间上启用新的空数据库(有几种不同的方法可以执行此操作)
  3. 使用新版PostGIS附带的特殊实用程序postgis_restore.pl将旧格式转换为新格式。