安裝 PostGIS

PostGIS 為 PostgreSQL 新增了地理物件支援,使其轉變為空間資料庫。GEOSPROJGDAL 應在建置 PostGIS 之前安裝。您可能還需要其他函式庫,請參閱 PostGIS 需求

當 GeoDjango 與 PostGIS 一起使用時,需要 psycopgpsycopg2 模組作為資料庫介面卡。

在 Debian/Ubuntu 上,建議您安裝以下套件:postgresql-xpostgresql-x-postgis-3postgresql-server-dev-xpython3-psycopg3(x 與您要安裝的 PostgreSQL 版本相符)。或者,您可以從原始碼建置。如果您使用的是 macOSWindows,請參閱特定平台的說明。

安裝後

建立空間資料庫

PostGIS 包含 PostgreSQL 的擴充功能,用於啟用空間功能

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

如果您計劃使用 PostGIS 光柵功能,也應啟用 postgis_raster 擴充功能。您可以使用 CreateExtension 遷移操作來安裝擴充功能,或直接執行 CREATE EXTENSION postgis_raster;

GeoDjango 目前不利用任何 PostGIS 拓撲功能。如果您計劃在某些時候使用這些功能,也可以執行 CREATE EXTENSION postgis_topology; 來安裝 postgis_topology 擴充功能。

管理資料庫

要管理資料庫,您可以使用 pgAdmin III 程式(開始 ‣ PostgreSQL X ‣ pgAdmin III)或 SQL Shell(開始 ‣ PostgreSQL X ‣ SQL Shell)。例如,要建立一個 geodjango 空間資料庫和使用者,可以從 SQL Shell 以 postgres 使用者身分執行以下操作

postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;
回到頂端