首页 > 解决方案 > Django - 将 PostGIS 数据库与 PostgreSQL 数据库一起使用,我需要 2 个数据库吗?

问题描述

我目前正在使用具有标准设置的单个 PostgreSQL 数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': '',
    }
}

我的问题是,我可以继续使用默认的 postgres 设置,并CREATE EXTENSION postgis在 shell 中执行以访问 postgis 功能吗?还是我需要单独添加一个 postgis 数据库,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': '',
    }
    'geodata': {
         'ENGINE': 'django.contrib.gis.db.backends.postgis',
         'NAME': 'geodjango',
         'USER': 'geo',
    },
}

标签: djangogeodjangodjango-postgresql

解决方案


您可以继续使用默认的 postgres 设置,只需将引擎更改为:django.contrib.gis.db.backends.postgis

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': '',
    }
}

推荐阅读