---
title: "PostGIS のインストール"
version: 5.0
locale: ja
source: https://docs.djangoproject.com/ja/5.0/ref/contrib/gis/install/postgis/
canonical: https://djangodocs.dev/ja/5.0/ref/contrib/gis/install/postgis/
---
# PostGIS のインストール

[PostGIS](https://postgis.net/) は、PostgreSQL に地理オブジェクトのサポートを追加し、それを空間データベースに変えます。PostGIS をビルドする前に、 [GEOS](/ja/5.0/ref/contrib/gis/install/geolibs/#geosbuild)、[PROJ](/ja/5.0/ref/contrib/gis/install/geolibs/#proj4)、[GDAL](/ja/5.0/ref/contrib/gis/install/geolibs/#gdalbuild) をインストールする必要があります。追加のライブラリが必要な場合もあるので、 [PostGIS requirements](https://postgis.net/docs/postgis_installation.html#install_requirements) を参照してください。

GeoDjango を PostGIS で使う場合、データベースアダプタとして [psycopg](https://www.psycopg.org/psycopg3/) または [psycopg2](https://www.psycopg.org/) モジュールが必要です。

Debian/Ubuntuでは、次のパッケージをインストールすることが推奨されます: `postgresql-x`, `postgresql-x-postgis-3`, `postgresql-server-dev-x`, `python3-psycopg3` (xはインストールしたいPostgreSQLのバージョンに対応します)。別の方法として、 [build from source](https://postgis.net/docs/postgis_installation.html#install_short_version) ことも可能です。 [macOS](/ja/5.0/ref/contrib/gis/install/#macos) や [Windows](/ja/5.0/ref/contrib/gis/install/#windows) の場合は、プラットフォーム固有の手順を参照してください。

> **Changed in Django 4.2**
>
> `psycopg` 3.1.8以降のサポートが追加されました。

## インストール後

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

PostGIS 2 には、PostgreSQL 用の拡張機能が含まれており、空間機能を有効にするために使用されています。

```shell
$ createdb  <db name>
$ psql <db name>
> CREATE EXTENSION postgis;
```

データベースユーザーは、`CREATE EXTENSION postgis;` を実行するためにはスーパーユーザーである必要があります。このコマンドは、 [`migrate`](/ja/5.0/ref/django-admin/#django-admin-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`](/ja/5.0/ref/contrib/postgres/operations/#django.contrib.postgres.operations.CreateExtension) マイグレーションオペレーションを使用してインストールするか、直接 `CREATE EXTENSION postgis_raster;` を実行してインストールすることもできます。

GeoDjango は今のところ [PostGIS topology functionality](https://postgis.net/docs/Topology.html) を利用していません。これらの機能をいつか使いたければ、 `CREATE EXTENSION postgis_topology;` を実行して `postgis_topology` 拡張機能をインストールすることもできます。

### データベースの管理

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

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