PostGISのインストール
PostGIS は、地理オブジェクトのサポートをPostgreSQLに追加し、それを空間データベースに変えます。 PostGISをビルドする前に、 GEOS 、 PROJ 、 GDAL をインストールする必要があります。 追加のライブラリが必要になる場合もあります。 PostGIS要件を参照してください。
psycopg2 モジュールは、PostGISでGeoDjangoを使用するときにデータベースアダプターとして使用するために必要です。
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;
を実行するには、データベースユーザーがスーパーユーザーである必要があります。 このコマンドは、:djadmin: `migrate` プロセス中に実行されます。 別の方法は、プロジェクトで移行操作を使用することです。
from django.contrib.postgres.operations import CreateExtension
from django.db import migrations
class Migration(migrations.Migration):
operations = [
CreateExtension('postgis'),
...
]
PostGIS 3+でPostGISラスター機能を使用する場合は、postgis_raster
拡張機能もアクティブ化する必要があります。 CreateExtension 移行操作を使用するか、CREATE EXTENSION postgis_raster;
を実行して直接、拡張機能をインストールできます。
GeoDjangoは現在、 PostGISトポロジ機能を利用していません。 ある時点でこれらの機能を使用する予定がある場合は、CREATE EXTENSION postgis_topology;
を発行してpostgis_topology
拡張機能をインストールすることもできます。
データベースの管理
データベースを管理するには、pgAdmin IIIプログラム(geodjango
空間データベースとユーザーを作成するには、SQLシェルからpostgres
ユーザーとして次のコマンドを実行できます。
postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;