将postgis备份从1.5恢复到2.1.2

Gus*_*iro 3 postgresql postgis

我有一个postgres 9.1和postgis 1.5的数据库备份.许多数据库是使用启用空间的数据库构建的,使用以下方法创建:

CREATEDB空间的psql -d空间-f postgis.sql的psql -d空间-f spatial_ref_sys.sql的psql -d空间-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,因为我没有安装拓扑.但是几张桌子根本没有进口.在导入过程中,我收到了一些消息:类型"geometry"未定义.

有什么新想法吗?

Mik*_*e T 6

按照手册中硬升级说明进行操作.简而言之,这些步骤是:

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