Установка PostGIS
PostGIS добавляет поддержку географических объектов в PostgreSQL, превращая его в пространственную базу данных. GEOS, PROJ.4 и GDAL должны быть установлены до сборки PostGIS. Вам могут потребоваться дополнительные библиотеки, см. требования к PostGIS.
Модуль psycopg2 требуется для использования в качестве адаптера базы данных при использовании GeoDjango с PostGIS.
В Debian/Ubuntu рекомендуется установить следующие пакеты: postgresql-x.x, postgresql-x.x-postgis, postgresql-server-dev-x.x, python-psycopg2 (x.x соответствует версии PostgreSQL, которую вы хотите установить). В качестве альтернативы вы можете собрать из исходного кода. Обратитесь к инструкциям для вашей платформы, если вы используете macOS или Windows.
После установки
Создание пространственной базы данных
PostGIS 2 включает расширение для 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'),
...
]
GeoDjango в настоящее время не использует какие-либо функциональные возможности топологии PostGIS. Если вы планируете использовать эти функции в какой-то момент, вы также можете установить расширение postgis_topology, выполнив CREATE EXTENSION
postgis_topology;.
Управление базой данных
Для администрирования базы данных можно использовать программу pgAdmin III () или SQL Shell (). Например, для создания пространственной базы данных и пользователя geodjango, следующее может быть выполнено из SQL Shell в качестве пользователя 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/1.11/ref/contrib/gis/install/postgis/