# dokumentasi Django 2.2.9.dev20191202104323

# 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;