我在 MacOS 10.7 上使用 Django 1.2 和最新版本的Postgres.app 。当我运行manage.py syncdb
创建一个包含 PointField 的数据库时,我收到以下错误:
Installing index for stores.Store model
Failed to install index for stores.Store model: operator class "gist_geometry_ops" does not exist for access method "gist"
这是我之前用来创建空间数据库的 Postgres 命令(在之前遇到此问题之后) - 它们都不会产生任何错误,这表明 PostGIS 设置正常:
$ psql -d stores -U storeadmin
# CREATE EXTENSION postgis;
# ALTER TABLE geometry_columns OWNER TO storeadmin;
# ALTER TABLE spatial_ref_sys OWNER TO storeadmin;
做了一些谷歌搜索后,我想知道 Postgres.app 是否带有与 Django 1.2 不兼容的 PostGIS 版本?我应该升级到更新的 Django 吗?或者我应该降级到较旧的 PostGIS,如果是,如何降级?
更新:这个线程表明即使 Django 1.4 也不兼容 PostGIS 2。我可以说服 Postgres.app 使用旧版本吗?或者我应该完全放弃 Postgres.app 吗?