• 3.1
  • 3.2
  • 6.1
  • Версия документации: 5.0

Установка ПостГИС

PostGIS добавляет поддержку географических объектов в PostgreSQL, превращая его в пространственную базу данных. ГЕОС, ПРОДЖ и ГДАЛ должны быть установлены до сборки PostGIS. Вам также могут понадобиться дополнительные библиотеки, см. Требования PostGIS.

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

В Debian/Ubuntu рекомендуется установить следующие пакеты: postgresql-x, postgresql-x-postgis-3, postgresql-server-dev-x и python3-psycopg3 (x соответствует версии PostgreSQL, которую вы хотите установить). Альтернативно вы можете собрать из исходного кода. Если вы используете macOS или Окна, обратитесь к инструкциям для конкретной платформы.

После установки

Создание пространственной базы данных

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 (Start ‣ PostgreSQL X ‣ pgAdmin III) или SQL Shell (Start ‣ PostgreSQL X ‣ SQL Shell). Например, чтобы создать пространственную базу данных и пользователя geodjango, из SQL-оболочки можно выполнить следующую команду от имени пользователя postgres:

postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;
Back to Top