我有一个 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="相对。 4.7.1,2009 年 9 月 23 日"LIBXML="2.9.1"LIBJSON="UNKNOWN""
由于所提供的链接中没有涵盖 POSTGIS 2.1.2,我想我应该只运行脚本 postgis_upgrade_21_minor.sql,因为我没有安装拓扑。但是有几张表根本没有导入。在导入过程中,我收到了一些消息:类型“geometry”未定义。
有什么新想法吗?
最佳答案
关注hard upgrade instructions in the manual .简而言之,这些步骤是:
- 将旧数据库转储到文件
- 在空间上启用一个新的空数据库(有几种不同的方法可以做到这一点)
- 使用新版 PostGIS 附带的特殊实用程序
postgis_restore.pl
将旧格式转换为新格式。
关于postgresql - 将 postgis 备份从 1.5 恢复到 2.1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23279022/