# Dokumentasi Django 5.2.8

# Memasang PostGIS

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

The psycopg or psycopg2 module is required for use as the database adapter when using GeoDjango with PostGIS.

On Debian/Ubuntu, you are advised to install the following packages: `postgresql-x`, `postgresql-x-postgis-3`, `postgresql-server-dev-x`, and `python3-psycopg3` (x matching the PostgreSQL version you want to install). Alternately, you can build from source. Consult the platform-specific instructions if you are on macOS or Windows.

## Pasca-pemasangan

### Membuat basisdata spasial

PostGIS includes an extension for PostgreSQL that's used to enable spatial functionality:

    $ 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"), ...]

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

To administer the database, you can either use the pgAdmin III program (Start ‣ PostgreSQL X ‣ pgAdmin III) or the SQL Shell (Start ‣ PostgreSQL X ‣ SQL Shell). For example, to create a `geodjango` spatial database and user, the following may be executed from the SQL Shell as the `postgres` user:

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