73

Django で単体テストを実行しようとすると、新しいデータベースが作成されます。データベースには postgis 拡張機能があり、データベースを定期的に作成するときは、「CREATE ExTENSION postgis」を使用します。

ただし、テストを実行すると、次のエラーが表示されます。

$ ./manage.py test
Creating test database for alias 'default'...
Got an error creating the test database: database "test_project" already exists

Type 'yes' if you would like to try deleting the test database 'test_project', or 'no' to cancel: yes
Destroying old test database 'default'...
DatabaseError: permission denied to create extension "postgis"
HINT:  Must be superuser to create this extension.

ユーザーには既に Create DB 権限があります。Postgis 2.0 で Ubuntu 12.04 で PostgreSQL 9.1 を使用しています。

4

6 に答える 6

126

postgis の Django ドキュメントには、ユーザー権限の設定に関する情報が含まれています

最悪の場合、新しいスーパーユーザーを作成できます:

$ createuser --superuser <user_name>

または既存のユーザーの役割を変更します。

postgres# ALTER ROLE <user_name> SUPERUSER;
于 2013-05-13T17:48:25.823 に答える