PostGISのインストール—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/contrib/gis/install/postgis
移動先:案内検索

PostGISのインストール

PostGIS は、地理オブジェクトのサポートをPostgreSQLに追加し、それを空間データベースに変えます。 PostGISをビルドする前に、 GEOSPROJGDAL をインストールする必要があります。 追加のライブラリが必要になる場合もあります。 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プログラム(Start‣PostgreSQL9.x‣pgAdminIII)またはSQLシェル(Start‣PostgreSQL9.x‣SQLShell)のいずれかを使用できます。 )。 たとえば、geodjango空間データベースとユーザーを作成するには、SQLシェルからpostgresユーザーとして次のコマンドを実行できます。

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