带有 Postgis Geodjango 安装的 Postgresql

Posted

技术标签:

【中文标题】带有 Postgis Geodjango 安装的 Postgresql【英文标题】:Postgresql with Postgis Geodjango Installation 【发布时间】:2013-11-07 19:38:32 【问题描述】:

我正在尝试使用 Postgis 设置 Geodjango,但无法在数据库中启用 Postgis 扩展。我正在遵循Geodjango Documentation 上的设置,但是当我点击这一步时:

mydb=# CREATE EXTENSION postgis;

我收到以下错误:

ERROR:  could not open extension control file "/usr/local/Cellar/postgresql/9.3.1/share/postgresql/extension/postgis.control": No such file or directory

这是我的路径有问题吗?如果是这样,我该如何解决?我发现我的 postgresql 位于这里:

admins-macbook:postgis-2.1.0 Admin$ find . -iname postgresql
./java/jdbc/src/org/postgresql
./java/jdbc/stubs/org/postgresql

感谢您提供任何有用的想法!

【问题讨论】:

【参考方案1】:

首先我会检查文件是否存在于您的系统上:find /usr -name postgis.control

它可能不存在......

我认为这是 9.3.1 打包方式的问题。

查看 /usr/pgsql-9.3/share/contrib/postgis-2.1(根据你的 postgis 版本更改此路径)

如果您在此处看到 postgis.sql 和 spatial_ref_sys.sql 等文件,则可以使用此处的说明手动创建空间数据库模板:https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/postgis/#creating-a-spatial-database-template-for-earlier-versions

您只需更改 POSTGIS_SQL_PATH 以指向上述 .sql 文件。

【讨论】:

以上是关于带有 Postgis Geodjango 安装的 Postgresql的主要内容,如果未能解决你的问题,请参考以下文章

Postgis / Geodjango:无法确定数据库的 PostGIS 版本

为啥它在运行迁移时抛出`GeoDjango Postgis 要求不满足得到错误?

如何使用 GeoDjango/PostGIS 满足“enforce_srid_coordinate”约束?

Heroku 上的 postgis Geodjango 出错

在 PostGIS 数据库中使用带有 spatial_template 的非空间模型

geodjango(postgis)中两个3D点之间的距离