6
我試圖在運行PostGIS的GIS Django應用程序上運行測試作爲數據庫後端。使用Postgis後端測試Django應用程序
當我嘗試運行測試,我得到以下錯誤:
django.db.utils.ProgrammingError: permission denied to create extension "postgis"
HINT: Must be superuser to create this extension.
錯誤是有道理的。只有管理員數據庫用戶才能安裝擴展,因爲此權限允許執行任意外部代碼。但是由於每次測試運行時測試運行器都需要重新創建數據庫,因此Django的數據庫用戶無法繼續。
這是我的數據庫配置。
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'my_db',
'USER': 'my_user',
'PASSWORD': 'my_crazy_secure_password',
'HOST': '127.0.0.1',
'PORT': '',
'TEST_NAME': 'test_my_db',
},
}
工作就像一個魅力。你是國王。 – bbrame
運行:'sudo -u postgres psql -d template1 -c「CREATE EXTENSION IF NOT EXISTS postgis;」' –