启用PostGIS扩展错误

时间:2013-10-02 23:52:04

标签: postgresql postgis

我在PostgreSQL 9.2.4中安装了PostGIS 2.0.4,尝试使用以下命令启用空间数据库扩展:

CREATE EXTENSION postgis;

但遇到错误 -

  

错误:必须是类型spheroid的所有者

这种球体类型是什么?我怎么能启用它?

更新

好吧,我仍然找不到解决方案所以我必须删除所有内容并重新安装。现在我收到一个新错误:

  

错误:无法加载库“/usr/pgsql-9.2/lib/rtpostgis-2.0.so”:libclntsh.so.11.1无法打开共享对象文件:没有这样的文件或目录。

我没有运气谷歌的答案。似乎 libclntsh.so.11.1 是一个Oracle库吗?为什么它与PostgreSQL有关?

2 个答案:

答案 0 :(得分:2)

尝试以db超级用户身份登录。在Linux上,以下内容适用于大多数发行版:

sudo postgres psql [dbname]

然后可以有效忽略所有权和权限。一般情况下,我建议对大多数扩展安装执行此操作,因为这通常需要超级用户权限。

答案 1 :(得分:0)

我知道这是一个古老的问题,但是下次我想在这里回答

删除 spatial_ref_sysgeometry_columns。在您的架构中,它们不应为。就我而言,它们是通过使用DotNet从SQL Server数据库创建Entity Framework模型,然后使用EF在Postgres中重新创建数据库的人工产物而创建的。

所以:

sudo postgresql psql [dbname] -c "drop table spatial_ref_sys; drop table geometry_columns; create extension postgis;"