Установка PostGIS

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

The psycopg or psycopg2 module is required for use as the database adapter when using GeoDjango with PostGIS.

On Debian/Ubuntu, you are advised to install the following packages: postgresql-x, postgresql-x-postgis-3, postgresql-server-dev-x, and python3-psycopg3 (x matching the PostgreSQL version you want to install). Alternately, you can build from source. Consult the platform-specific instructions if you are on macOS or Windows.

Changed in Django 4.2:

Добавлена поддержка psycopg 3.1+.

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

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

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 topology functionality. Если вы планируете использовать эти возможности в какой-то момент, вы также можете установить расширение postgis_topology, выпустив CREATE EXTENSION postgis_topology;.

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

To administer the database, you can either use the pgAdmin III program (Start ‣ PostgreSQL X ‣ pgAdmin III) or the SQL Shell (Start ‣ PostgreSQL X ‣ SQL Shell). For example, to create a geodjango spatial database and user, the following may be executed from the SQL Shell as the postgres user:

postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;
Вернуться на верх