PostGIS のインストール¶
PostGIS は、PostgreSQL に地理オブジェクトのサポートを追加し、それを空間データベースに変えます。PostGIS をビルドする前に、 GEOS、PROJ、GDAL をインストールする必要があります。追加のライブラリが必要な場合もあるので、 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 ことも可能です。 macOS や Windows の場合は、プラットフォーム固有の手順を参照してください。
インストール後¶
空間データベースを作成する¶
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 プログラム (geodjango
空間データベースとユーザを作成するには、postgres
ユーザとして SQL Shell から次のコマンドを実行します:
postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;