PostGIS のインストール

PostGIS は、PostgreSQL に地理オブジェクトのサポートを追加し、それを空間データベースに変えます。PostGIS をビルドする前に、 GEOSPROJGDAL をインストールする必要があります。追加のライブラリが必要な場合もあるので、 PostGIS requirements を参照してください。

GeoDjango を PostGIS で使う場合、データベースアダプタとして psycopg または psycopg2 モジュールが必要です。

Debian/Ubuntuでは、次のパッケージをインストールすることが推奨されます: postgresql-x, postgresql-x-postgis-3, postgresql-server-dev-x, python3-psycopg3 (xはインストールしたいPostgreSQLのバージョンに対応します)。別の方法として、 build from source ことも可能です。 macOSWindows の場合は、プラットフォーム固有の手順を参照してください。

インストール後

空間データベースを作成する

PostGIS includes an extension for PostgreSQL that's used to enable spatial functionality:

$ 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"), ...]

If you plan to use PostGIS raster functionality, you should also activate the postgis_raster extension. You can install the extension using the CreateExtension migration operation, or directly by running CREATE EXTENSION postgis_raster;.

GeoDjango は今のところ PostGIS topology functionality を利用していません。これらの機能をいつか使いたければ、 CREATE EXTENSION postgis_topology; を実行して postgis_topology 拡張機能をインストールすることもできます。

データベースの管理

データベースの管理には、pgAdmin III プログラム (Start ‣ PostgreSQL X ‣ pgAdmin III) または SQL Shell (Start ‣ PostgreSQL X ‣ SQL Shell) を使用できます。例えば、 geodjango 空間データベースとユーザを作成するには、postgres ユーザとして SQL Shell から次のコマンドを実行します:

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