Tôi đang cố gắng chạy thử nghiệm trên ứng dụng GIS Django đang chạy PostGIS làm cơ sở dữ liệu phụ trợ.Thử nghiệm ứng dụng Django với Postgis Backend
Khi tôi cố gắng để chạy thử nghiệm, tôi nhận được lỗi sau:
django.db.utils.ProgrammingError: permission denied to create extension "postgis"
HINT: Must be superuser to create this extension.
Các lỗi có ý nghĩa. Chỉ người dùng cơ sở dữ liệu quản trị mới có thể cài đặt tiện ích mở rộng vì đặc quyền này cho phép thực thi mã bên ngoài tùy ý. NHƯNG kể từ khi Á hậu thử nghiệm phải tái tạo cơ sở dữ liệu mỗi khi các thử nghiệm được chạy, người dùng cơ sở dữ liệu của Django không thể tiến hành.
Đây là cấu hình cơ sở dữ liệu của tôi.
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',
},
}
Làm việc như một sự quyến rũ. Bạn là vua. – bbrame
Chạy: 'sudo -u postgres psql -d template1 -c" TẠO MỞ RỘNG NẾU KHÔNG tồn tại postgis; " –