28

GeoDjangoアプリを起動しようとしています。Lionにbrewを使用してPostgresとPostGISをインストールしました。template_postgisを使用してデータベースを作成しました:createdb -T template_postgis test

を実行するpython manage.py syncdbと、次のエラーが発生します。

django.core.exceptions.ImproperlyConfigured:データベース「テスト」のPostGISバージョンを判別できません。GeoDjangoには少なくともPostGISバージョン1.3が必要です。データベースは空間データベーステンプレートから作成されましたか?

エラーの原因を突き止めるにはどうすればよいですか?ユーザーと設定のパスがデータベースなどにアクセスできることを確認しました。

4

5 に答える 5

19

最初のデバッグ手順として、postgis テンプレートのバージョンを手動で確認してみてください。たとえば、コマンドラインで を使用してデータベースに接続しpsql test、 を使用してクエリを実行しselect postgis_lib_version();ます。この関数は template_postgis で定義され、何らかの数値を返す必要があります。出力例:

$ psql test
psql (9.0.4)
Type "help" for help.

test=# select postgis_lib_version();

 postgis_lib_version
---------------------
 1.5.2
(1 row)

エラーが発生した場合、エラーがデータベースにあることがわかります。

于 2011-10-16T19:51:34.343 に答える
10

私にとっての解決策は、postgres ターミナルで以下を実行することでした。

psql database_name

database_name=# CREATE EXTENSION postgis;

が得られた場合はERROR: relation "spatial_ref_sys" already exists、 の前に次を実行しますCREATE EXTENSION postgis

 drop table spatial_ref_sys;
 drop table geometry_columns;
于 2015-04-20T21:28:33.977 に答える