1

我将 PostGIS 2.0.4 与 PostgreSQL 9.2.4 一起安装,尝试使用以下命令启用空间数据库扩展:

CREATE EXTENSION postgis;

但遇到错误 -

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

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

更新:

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

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

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

4

2 回答 2

2

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

sudo postgres psql [dbname]

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

于 2013-11-22T04:55:38.077 回答
1

我知道这是一个古老的问题,但我想在下次遇到它时在这里得到答案!

放下表格 spatial_ref_sysgeometry_columns. 它们不应该是架构中的。在我的例子中,它们被创建为使用 DotNet 从 SQL Server 数据库创建实体框架模型,然后使用 EF 在 Postgres 中重新创建数据库的人工制品。

所以:

sudo postgresql psql [dbname] -c "drop table spatial_ref_sys; drop table geometry_columns; create extension postgis;"
于 2019-11-29T10:30:14.183 回答