Установка PostGIS
PostGIS добавляет поддержку геообъектов в PostgreSQL, превращая его в пространственную базу данных. GEOS, PROJ и GDAL должны быть установлены перед сборкой PostGIS. Вам могут потребоваться дополнительные библиотеки, см. требования PostGIS.
Для использования в качестве адаптера базы данных при работе с GeoDjango и PostGIS требуется модуль psycopg или psycopg2.
В Debian/Ubuntu рекомендуется установить следующие пакеты: postgresql-x, postgresql-x-postgis-3, postgresql-server-dev-x, и python3-psycopg3 (x соответствует версии PostgreSQL, которую вы хотите установить). В качестве альтернативы вы можете собрать PostGIS из исходного кода. Обратитесь к инструкциям для конкретной платформы, если вы работаете на macOS или Windows.
После установки
Создание пространственной базы данных
PostGIS включает расширение для PostgreSQL, которое используется для включения пространственных функций:
$ createdb <db name> $ psql <db name> > CREATE EXTENSION postgis;
Пользователь базы данных должен быть суперпользователем для выполнения CREATE EXTENSION postgis;. Команда выполняется во время процесса migrate. Альтернативой является использование операции миграции в вашем проекте:
from django.contrib.postgres.operations import CreateExtension
from django.db import migrations
class Migration(migrations.Migration):
operations = [CreateExtension("postgis"), ...]
Если вы планируете использовать функции PostGIS растровой обработки, вы также должны активировать расширение postgis_raster. Вы можете установить расширение, используя операцию миграции CreateExtension, или напрямую, выполнив CREATE EXTENSION postgis_raster;.
В настоящее время GeoDjango не использует какие-либо функциональности топологии PostGIS. Если вы планируете использовать эти функции в будущем, вы также можете установить расширение postgis_topology с помощью команды CREATE EXTENSION
postgis_topology;.
Управление базой данных
Для администрирования базы данных можно использовать программу pgAdmin III () или командную оболочку SQL (). Например, для создания пространственной базы данных и пользователя geodjango, из командной оболочки SQL, как пользователь postgres, можно выполнить следующие команды:
postgres# CREATE USER geodjango PASSWORD 'my_passwd'; postgres# CREATE DATABASE geodjango OWNER geodjango;
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.1/ref/contrib/gis/install/postgis/