Installing PostGIS

PostGIS向PostgreSQL添加地理对象支持,将其转换为空间数据库。 应在建造PostGIS之前安装GEOSPROJ.4GDAL 您可能还需要其他库,请参见PostGIS要求

在使用GeoDjango和PostGIS时,需要使用psycopg2模块作为数据库适配器。

在Debian / Ubuntu上,建议安装以下软件包:postgresql-x.x,postgresql-x.x-postgis,postgresql-server-dev-x.x,python-psycopg2(x.x匹配您要安装的PostgreSQL版本)。 或者,您可以从源代码构建 如果您在macOSWindows上,请参阅平台特定说明。

Post-installation

创建空间数据库

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拓扑功能 如果您打算在某些时候使用这些功能,还可以通过发布CREATE EXTENSION postgis_topology来安装postgis_topology ; T5> T2>。

Managing the database

要管理数据库,您可以使用pgAdmin III程序(开始‣PostgreSQL 9.x‣pgAdmin III)或SQL Shell(开始‣PostgreSQL 9.x‣SQL Shell )。 例如,要创建geodjango空间数据库和用户,可以从SQL Shell作为postgres用户执行以下操作:

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