Установка PostGIS

PostGIS добавляет в PostgreSQL поддержку географических объектов, превращая его в пространственную базу данных. GEOS , PROJ и GDAL должны быть установлены до создания PostGIS. Вам также могут понадобиться дополнительные библиотеки, см. Требования PostGIS .

Модуль psycopg2 требуется для использования в качестве адаптера базы данных при использовании GeoDjango с PostGIS.

В Debian / Ubuntu рекомендуется установить следующие пакеты: postgresql-xx, postgresql-xx-postgis, postgresql-server-dev-xx, python-psycopg2 (xx соответствует версии 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'),
        ...
    ]

Если вы планируете использовать растровые функции PostGIS в PostGIS 3+, вам также следует активировать postgis_rasterрасширение. Вы можете установить расширение с помощью CreateExtensionоперации миграции или напрямую, запустив .CREATE EXTENSION postgis_raster;

GeoDjango в настоящее время не использует какие-либо функции топологии PostGIS . Если вы планируете использовать эти функции в какой-то момент, вы также можете установить postgis_topologyрасширение, выполнив .CREATE EXTENSION postgis_topology;

Управление базой данных

Для администрирования базы данных вы можете использовать программу pgAdmin III ( Start ‣ PostgreSQL 9.x ‣ pgAdmin III ) или оболочку SQL ( Start ‣ PostgreSQL 9.x ‣ SQL Shell ). Например, чтобы создать geodjangoпространственную базу данных и пользователя, следующее может быть выполнено из оболочки SQL от имени postgresпользователя:

postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;

Copyright ©2021 All rights reserved