【问题标题】:Restore postgis backup from 1.5 to 2.1.2将 postgis 备份从 1.5 恢复到 2.1.2
【发布时间】:2014-04-24 20:22:59
【问题描述】:

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

createdb 空间 psql -d 空间 -f postgis.sql psql -d 空间 -f spatial_ref_sys.sql psql -d 空间 -f postgis_cmets.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.5 到 2.x 需要硬升级。有关详细信息,请参阅bostongis.com/blog/index.php?/archives/…
  • 感谢约翰·巴萨的帮助!我正在阅读链接,但我不知道我是否安装了带有扩展的 postgres。你知道如何检查它是否安装了吗?
  • 选择 postgis_version();此外,如果您在 psql 提示符下执行 \d,您应该会看到 geometry_columns、geography_columns 和 spatial_ref_sys 视图以及可能还有其他内容,例如 raster。
  • 我已经完成了我需要的步骤,至少我认为我已经完成了。运行后: 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""
  • 嗨约翰,你知道还有什么可以做的吗?

标签: postgresql postgis


【解决方案1】:

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

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

【讨论】:

  • 嗨,迈克,我还没有解决问题。我按照所有步骤完成了硬升级,但没有成功。问题是在执行 postgis_restore.pl 时,我遇到了一个错误,因为没有找到清单文件。我试图找出那是什么,但什么也找不到。我看到有些人有同样的问题,但我没有找到任何解决方案。
  • 所以我在stackoverflow上提出了另一个问题:stackoverflow.com/questions/40996287/…。我现在必须深入挖掘以了解有关 srid 的所有信息,并弄清楚如何将这个唯一的表字段(一个几何字段)插入到我的新数据库中。有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 2016-12-30
  • 2013-12-27
  • 1970-01-01
  • 2015-01-26
  • 2021-07-02
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多