Spec-Zone.ru › Django 3.0

Установка 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, которую вы хотите установить). В качестве альтернативы можно собрать PostGIS из исходного кода. Обратитесь к инструкциям для конкретной платформы, если вы используете 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 (Пуск ‣ PostgreSQL 9.x ‣ pgAdmin III) или SQL Shell (Пуск ‣ PostgreSQL 9.x ‣ SQL Shell). Например, чтобы создать пространственную базу данных и пользователя, следующая команда может быть выполнена из 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/3.0/ref/contrib/gis/install/postgis/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API