Memasang PostGIS

PostGIS menambahkan dukungan obyek geografis pada PostgreSQL, merubah itu menjadi basisdata spasial. GEOS, PROJ.4 dan GDAL harus dipasang sebelum membangun PostGIS. Anda mungkin juga butuh pustaka-pustaka tambahan, lihat PostGIS requirements.

Modul psycopg2 dibutuhkan untuk digunakan sebagai pencocok basisdata ketika menggunakan GeoDjango dengan PostGIS.

Pada Debian/Ubuntu, anda disarankan untuk memasang paket-paket berikut: postgresql-x.x, postgresql-x.x-postgis, postgresql-server-dev-x.x, python-psycopg2 (x.x mencocokkan versi PostgreSQL anda ingin pasang). cara lain, anda dapat build from source. Rundingkan petunjuk serambi-khusus jika anda berada di macOS or Windows.

Pasca-pemasangan

Membuat basisdata spasial

PostGIS 2 menyertakan sebuah tambahan untuk PostgreSQL yang digunakan untuk mengadakan kegunaan spasial:

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

Pengguna basisdata harus super pengguna untuk menjalankan CREATE EXTENSION postgis;. Perintah berjalan selama pengolahan migrate. Sebuah cara lain adalah untuk menggunakan tndakan perpindahan dalam proyek anda:

from django.contrib.postgres.operations import CreateExtension
from django.db import migrations

class Migration(migrations.Migration):

    operations = [
        CreateExtension('postgis'),
        ...
    ]

GeoDjango saat ini tidak mempengaruhi PostGIS topology functionality apapun. Jika anda berencana untuk menggunakan fitur-fitur tersebut pada beberapa titik, anda dapat juga memasang tambahan postgis_topology dengan menerbitkan CREATE EXTENSION postgis_topology;.

Mengelola basisdata

Untuk mengelola basisdata, anda dapat baik menggunakan program pGadmin III (Start ‣ PostgreSQL 9.x ‣ pgAdmin III) atau Cangkang SQL (Start ‣ PostgreSQL 9.x ‣ SQL Shell). Sebagai contoh, untuk membuat basisdata spasial geodjango dan pengguna, berikut mungkin dijalankan dari Cangkang SQL sebagai pengguna postgres:

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